callARMMultipleStockDeliveryScanApi method
Implementation
Future<void> callARMMultipleStockDeliveryScanApi(
String? serialNum,
String? serialStartRange,
String? serialEndRange,
int pageNo,
String requestToPartnerId) async {
BuildContext context = Get.context!;
WidgetsBinding.instance.addPostFrameCallback((_) {
Helper.progressDialog(context, "Please wait..");
});
// pageNum = pageNo;
passedAssets = <PassedAssets>[].obs;
var action = "";
if (currentScan == ScanType.sellThru) {
action = "INV_SELL_THRU_DELIVERY";
} else if (currentScan == ScanType.collectStock) {
action = "INV_SCAN_IN_ALLOCATION";
} else if (currentScan == ScanType.spotSellThru) {
action = "INV_SCAN_IN_ALLOCATION";
} else {
action = "INV_SELL_THRU_DELIVERY";
}
try {
StockDeliveryScanModel model =
await ApiClient(baseUrl: ApiConstant.armBaseUrl).validateAssetsV2(
xUserId: storage.read("XUSER_ID"),
action: action,
assetIds: checkValue(serialNum),
pageNo: pageNo,
assetStartRange: checkValue(serialStartRange),
assetEndRange: checkValue(serialEndRange),
fromPartnerId: requestToPartnerId);
Get.back();
isLoadingAssets.value = false;
if (model.status == true) {
var isValidated = false;
if (model.data != null &&
model.data!.passedAssets != null &&
model.data!.passedAssets!.isNotEmpty) {
// if (pageNo == 1) {
if (model.data!.passedAssets!.length == 1) {
if (currentScan == ScanType.sellThru) {
productDataScannedList.forEach((element) {
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);
}
}
} else {
if (cartId.isNotEmpty) {
callUpdateCartApi(
serialNum, serialStartRange, serialEndRange, null);
} else {
callAddToCartApi(
serialNum, serialStartRange, serialEndRange, null);
}
}
isValidated = false;
} else {
passedAssets.addAll(model.data!.passedAssets!);
// if (pageNo == 1) {
ProductsBottomsheet().multipleProductsBottomsheet(
context,
localization.translate("selectProductUnderSerial"),
serialNum,
serialStartRange,
serialEndRange,
requestToPartnerId);
// }
}
// }
}
} 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) {
isLoadingAssets.value = false;
Get.back();
log(err.toString());
print(stacktrace);
Helper.messageDialog(Get.context!, "Try Again!!", err.toString());
}
}