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;
      }
      // }
    }
  }
}