callSellThruScanApi method

Future<void> callSellThruScanApi(
  1. String? serialNum,
  2. String? serialStartRange,
  3. String? serialEndRange,
  4. String requestToPartnerId,
)

Implementation

Future<void> callSellThruScanApi(String? serialNum, String? serialStartRange,
    String? serialEndRange, String requestToPartnerId) async {
  BuildContext context = Get.context!;
  Helper.progressDialog(context, "Please wait..");
  dio
      .get(
    selectedScanType.value == "Range"
        // ? 'https://run.mocky.io/v3/a20817f2-2689-47b0-953a-9c5012ca586b'
        ? 'https://run.mocky.io/v3/7712e5ff-cf00-4b79-816d-e0cc774fb759' // unstock product
        // : 'https://run.mocky.io/v3/d6849759-03b5-4222-8e40-95729be0a59e', // stock product
        : 'https://run.mocky.io/v3/8b3976c9-0fcb-4c6c-b76e-e76836639a4d',
    // unstock product
    data: {
      "serialNumber":
          serialNum, // either serial number or range -> one of them is mandatory
      "serialStartRange": serialStartRange,
      "serialEndRange": serialEndRange,
      "requestToPartnerId": requestToPartnerId, // distributor id
    },
    options: Options(
      headers: {
        'Authorization': 'Bearer Authorization',
        'Content-Type': 'application/x-www-form-urlencoded',
      },
    ),
  )
      .then((response) {
    Helper.close();
    if (response.data != null) {
      SacnDataModel model = SacnDataModel();
      ConditionalLogs().customLog(response.data);
      Map<String, dynamic> productData = response.data;
      if (productData['status']) {
        ScanProductModel dataproductModel =
            ScanProductModel.fromJson(productData['data']);
        var scannedList = <ScanContentModel>[];
        scannedList.addAll(dataproductModel.content!);
        addScannedAsset(
            scannedList,
            selectedScanType.value == "Single" ? int.parse(serialNum!) : null,
            selectedScanType.value == "Range"
                ? int.parse(serialStartRange!)
                : null,
            selectedScanType.value == "Range"
                ? int.parse(serialEndRange!)
                : null);
      } else {
        model.errors = productData["errors"];
        if (productData["errors"] != null) {
          Helper.messageDialog(
              Get.context!,
              model.errors![0].errorCode ?? "Try again!!",
              model.errors![0].errorDescription ?? "Something went wrong");
        }
      }
    }
  }).catchError((error) {
    ConditionalLogs().customLog("$error");
    Helper.close();
    MainController mainController = Get.put(MainController());
    mainController.showErrorPopup();
  });
}