callCreateCouponApi method

Future<void> callCreateCouponApi(
  1. double amount
)

Implementation

Future<void> callCreateCouponApi(double amount) async {
  BuildContext context = Get.context!;
  var partnerId = SingletonSotrage.secureStorageInterface.readSecureData(
        SecureStorageService.partnerIdLogin,
      ) ??
      "";
  var bodyRequest = {
    "entityId": partnerId, //dealer Id
    "amount": amount,
    "remarks": "",
    "bankRefId": "", // bank ref id (O)
    "bankName": "", // bank name (O)
    "orderId": "" // order id (O)
  };

  Helper.progressDialog(Get.context!, "");
  String requestTime = "";
  String responseTime = "";
  couponTransactionId = "";
  try {
    await ApiClient(
      baseUrl: ApiConstant.posBFF,
      onFetchRequestTime: (time) {
        requestTime = time;
      },
      onFetchResponseTime: (time) {
        responseTime = time;
      },
      screenName: "stockOrder",
    )
        .getPosCreateTransaction(
      body: bodyRequest,
      xUserId: SingletonSotrage.secureStorageInterface.readSecureData(
        SecureStorageService.xUserId,
      ),
      xUserName: SingletonSotrage.secureStorageInterface.readSecureData(
        SecureStorageService.xUserName,
      ),
    )
        .then((response) async {
      isLoadingMore.value = true;
      CreateCouponTransactionModel model =
          response; // CreateCouponTransactionModel.fromJson(couponResponse);

      if (model.status == "POS200") {
        Helper.logEvent(
          "RESPONSE_EVENT",
          success: true,
          endPoint: Api.posCreateTransaction,
          responseDate: responseTime,
          screenName: "stockOrder",
          requestDate: requestTime,
        );
        Helper.close();
        if (model.data != null) {
          couponTransactionId = model.data?.couponTransactionId ?? "";
          if (await checkAppAvailability()) {
            paymentmodestatus = 1;
            callPaymentTransactionCreateApi(
                couponTransactionId, "deep", selectedAmount.value.toString());
          } else {
            paymentmodestatus = 2;
            callPaymentTransactionCreateApi(couponTransactionId, "QrCode",
                selectedAmount.value.toString());
          }
        }
      } else {
        Helper.close();
        Helper.messageDialog(
          Get.context!,
          model.status ?? 'tryAgain'.tr,
          model.message ?? 'somethingWrong'.tr,
        );
      }
    }).catchError((error) {
      Helper.close();
      isLoadingMore.value = true;
      if (error is DioException) {
        UDID.setTraceId(
          error.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
        );
        Helper.logEvent(
          "ERROR_EVENT",
          failure: true,
          requestDate: requestTime,
          endPoint: Api.posCreateTransaction,
          responseDate: DateTime.now().toString(),
          screenName: "stockOrder",
          error: error,
        );
      }
      Helper.messageDialog(context, 'tryAgain'.tr, error.toString());
    });
  } catch (error, st) {
    Helper.close();
    if (error is DioException) {
      UDID.setTraceId(
        error.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
      );
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        requestDate: requestTime,
        endPoint: Api.posCreateTransaction,
        responseDate: DateTime.now().toString(),
        screenName: "stockOrder",
        error: error,
      );
    }
    print(st);
  }
}