validateScanning method

dynamic validateScanning()

Implementation

validateScanning() {
  final condition = currentScan;
  if (selectedScanType.value == "Single") {
    String iccid = singleScanController.text;
    if (iccid.isEmpty) {
      Helper.assetSuccessDialog(
          Get.context!,
          localization.translate("failedToAddAsset"),
          localization.translate("serialNumberCantBeEmpty"),
          const AssetImage(
            "assets/images/failed.png",
            package: Constants.packageName,
          ));

      return;
    }
    singleScanController.clear();
    switch (condition) {
      case ScanType.collectStock:
        callARMMultipleStockDeliveryScanApi(
            iccid, null, null, 1, partnerIdLogin);
        break;
      case ScanType.spotSellThru:
        callARMMultipleStockDeliveryScanApi(iccid, null, null, 1, userId);
        break;
      case ScanType.sellThru:
        callARMMultipleStockDeliveryScanApi(iccid, null, null, 1, userId);
      case ScanType.grn:
        callARMMultipleGrnScanApi(iccid, null, null, 1, partnerIdLogin);
        break;
      default:
        debugPrint("default");
    }
  } else if (selectedScanType.value == "Range") {
    String start = rangeStartScanController.value.text;
    String end = rangeEndScanController.value.text;
    if (start.isEmpty || end.isEmpty) {
      Helper.assetSuccessDialog(
          Get.context!,
          localization.translate("failedToAddAsset"),
          localization.translate("plsEnterStartAndEndRange"),
          const AssetImage(
            "assets/images/failed.png",
            package: Constants.packageName,
          ));

      return;
    }
    rangeStartScanController.value.clear();
    rangeEndScanController.value.clear();
    if (int.parse(start) > int.parse(end)) {
      Helper.assetSuccessDialog(
          Get.context!,
          localization.translate("failedToAddAsset"),
          localization.translate("endRangeMustBeGreater"),
          const AssetImage(
            "assets/images/failed.png",
            package: Constants.packageName,
          ));

      return;
    }

    switch (condition) {
      case ScanType.collectStock:
        callARMMultipleStockDeliveryScanApi(
            null, start, end, 1, partnerIdLogin);
        break;
      case ScanType.spotSellThru:
        callARMMultipleStockDeliveryScanApi(null, start, end, 1, userId);
        break;
      case ScanType.sellThru:
        callARMMultipleStockDeliveryScanApi(null, start, end, 1, userId);
        break;
      case ScanType.grn:
        callARMMultipleGrnScanApi(null, start, end, 1, partnerIdLogin);
        break;
      default:
        debugPrint("default");
    }
  }
}