callCreditLimitValidation method
Implementation
Future<void> callCreditLimitValidation(String? serialNum,
String? serialStartRange, String? serialEndRange) async {
BuildContext context = Get.context!;
WidgetsBinding.instance.addPostFrameCallback((_) {
Helper.progressDialog(context, "Please wait..");
});
try {
CreditLimitValidationModel model =
await ApiClient(baseUrl: ApiConstant.posBFF).creditLimitValidation(
cartId: cartId,
xRoles: storage.read("XUSER_ID"),
xUserId: storage.read("XUSER_ID"));
Get.back();
if (model.status == "POS200") {
availableCreditBalance.value =
double.parse(model.data!.creditLimitInfo!.limit!.amount ?? "0.0");
usedCreditBalance.value =
double.parse(model.data!.creditLimitInfo!.used!.amount ?? "0.0");
totalCreditBalance.value = // credit balance
double.parse(model.data!.creditLimitInfo!.balance!.amount ?? "0.0");
if (usedCreditBalance.value != 0.0) {
percentageCreditBalance.value =
usedCreditBalance.value / availableCreditBalance.value;
}
} else if (model.status == "POS401" &&
(serialNum != null || serialStartRange != null)) {
callDeleteAssetByIdApi(
serialNum, serialStartRange, serialEndRange, true);
}
} catch (err, stacktrace) {
log(err.toString());
print(stacktrace);
Helper.messageDialog(Get.context!, "Try Again!!", err.toString());
}
}