callCreateCouponApi method
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);
}
}