callUpdateCartApi method
Implementation
Future<void> callUpdateCartApi(String? serialNum, String? serialStartRange,
String? serialEndRange, String? productCode) async {
BuildContext context = Get.context!;
WidgetsBinding.instance.addPostFrameCallback((_) {
Helper.progressDialog(context, "Please wait..");
});
AddToCartRequest body = prepareCartRequest(
checkValue(serialNum),
checkValue(serialStartRange),
checkValue(serialEndRange),
productCode,
);
try {
cart.CartModel model = await ApiClient(baseUrl: ApiConstant.posBL)
.updateCart(
body: body,
cartId: cartId,
xRoles: storage.read("XUSER_ID"),
xUserId: storage.read("XUSER_ID"));
if (model.status == "POS200") {
Get.back();
cartId = model.data!.cartId!;
discountList.value = model.data!.cartDiscountsList!;
if (currentScan == ScanType.spotSellThru) {
updateSpotSellThruOrder(model);
} else if (currentScan == ScanType.sellThru) {
updateSellThruOrder(model);
} else if (currentScan == ScanType.collectStock) {
totalRetailPrice = model.data!.totalRetailPrice as double;
await updateCollectStock(
model, serialNum, serialStartRange, serialEndRange);
}
} else {
Get.back();
if (model.errors != null) {
Helper.messageDialog(
Get.context!,
model.errors![0].code ?? "Try again!!",
model.errors![0].localeMessage ?? "Something went wrong");
}
}
} catch (err, stacktrace) {
Get.back();
log(err.toString());
print(stacktrace);
Helper.messageDialog(Get.context!, "Try Again!!", err.toString());
}
}