callStockDeliveryARMScanApi method
Implementation
Future<void> callStockDeliveryARMScanApi(
String? serialNum,
String? serialStartRange,
String? serialEndRange,
String requestToPartnerId) async {
BuildContext context = Get.context!;
Helper.progressDialog(context, "Please wait..");
try {
StockDeliveryScanModel model =
await ApiClient(baseUrl: ApiConstant.armBaseUrl).validateAssets(
xUserId: storage.read("XUSER_ID"),
action: "INV_SELL_THRU_DELIVERY",
assetIds: serialNum,
assetStartRange: serialStartRange,
assetEndRange: serialEndRange,
fromPartnerId: requestToPartnerId);
Helper.close();
if (model.status == true) {
var isValidated = false;
productDataScannedList.forEach((element) {
if (model.data != null &&
model.data!.passedAssets != null &&
model.data!.passedAssets!.isNotEmpty) {
if (element.productCode ==
model.data!.passedAssets![0].productCode) {
isValidated = true;
}
}
});
if (isValidated) {
if (cartId.isNotEmpty) {
callUpdateCartApi(
serialNum, serialStartRange, serialEndRange, null);
} else {
callAddToCartApi(serialNum, serialStartRange, serialEndRange, null);
}
}
isValidated = false;
} else {
if (model.errors != null) {
Helper.messageDialog(
Get.context!,
model.errors![0].errorCode ?? "Try again!!",
model.errors![0].errorDescription ?? "Something went wrong");
}
}
} catch (err, stacktrace) {
Helper.close();
log(err.toString());
print(stacktrace);
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
}
}