callCreateCouponApi method
Future<void>
callCreateCouponApi(
- double amount, {
- bool isDeepLinkFailed = false,
})
Implementation
Future<void> callCreateCouponApi(double amount,
{bool isDeepLinkFailed = false}) async {
BuildContext context = Get.context!;
var partnerId = SecureStorageService.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: SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
xUserName: SecureStorageService.readSecureData(
SecureStorageService.xUserName,
),
)
.then((response) async {
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 (isDeepLinkFailed) {
paymentmodestatus = 2;
callPaymentTransactionCreateApi(couponTransactionId, "QrCode",
selectedAmount.value.toString());
} else {
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 ?? localization.translate('tryAgain'),
model.message ?? localization.translate('somethingWrong'),
);
}
}).catchError((error) {
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,
);
}
Helper.messageDialog(
context,
localization.translate('tryAgain'),
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);
}
}