updatePayment method
dynamic
updatePayment()
Implementation
updatePayment() async {
double parsedAmount =
double.tryParse(mywalletbalance.value.toString()) ?? 0.0;
toPayAmount.value = sellThruOrder.value.totalAmountPaid!;
// mywalletbalanceUndo.value = 0;
if (isWalletSelected.value == false) {
isWalletSelected.value = false;
toPayAmount.value = sellThruOrder.value.totalAmountPaid!;
mywalletbalanceUndo.value = 0;
} else {
if ((paymentDataList[0].disable == true)) {
var matchingMode = paymentModeValidateList.value.firstWhere(
(m) => m.modeId == int.parse(paymentDataList[0].id.toString()),
orElse: () => paymentModeValidate
.Mode(), // Replace with an appropriate default if required
);
if (matchingMode != null) {
if (!matchingMode.canUse! && matchingMode.validationErrors != null) {
String errorMessage = matchingMode.validationErrors!
.map((error) => error.message)
.join(", "); // Combine all error messages into one string
Get.showSnackbar(
GetSnackBar(
title: "error".tr,
message: errorMessage,
duration: const Duration(seconds: 3),
),
);
}
}
} else {
// if (selectedDeliveryName.value == "pickup") {
// if (parsedAmount >= sellThruOrder.value.totalAmountPaid!) {
// selectedPaymentMethod.value = PaymentData();
// isPaymentSelected.value = false;
// isWalletSelected.value = true;
// mywalletbalanceUndo.value = sellThruOrder.value.totalAmountPaid!;
// toPayAmount.value = 0.0;
// } else {
// if (isWalletSelected.value == true) {
// Get.showSnackbar(
// GetSnackBar(
// title: "Error",
// message: "notSufficientBalanceforWallet".tr,
// duration: const Duration(seconds: 3),
// ),
// );
// }
// isWalletSelected.value = false;
// }
// } else {
isWalletSelected.value = true;
if (parsedAmount >= sellThruOrder.value.totalAmountPaid!) {
toPayAmount.value = (sellThruOrder.value.totalAmountPaid! -
mywalletbalanceUndo.value);
// isPaymentSelected.value = false;
// selectedPaymentMethod.value = PaymentData();
// mywalletbalanceUndo.value = sellThruOrder.value.totalAmountPaid!;
// toPayAmount.value = 0.0;
} else {
toPayAmount.value = (sellThruOrder.value.totalAmountPaid! -
mywalletbalanceUndo.value);
// toPayAmount.value = toPayAmount.value - parsedAmount;
// mywalletbalanceUndo.value =
// sellThruOrder.value.totalAmountPaid! - toPayAmount.value;
}
// }
}
}
}