orderCreation method
dynamic
orderCreation(})
Implementation
orderCreation(
BuildContext context,
String cartId,
String paymentId,
String transactionType, {
required bool isBank,
bool isCashOnDelivery = false,
}) async {
try {
Helper.progressDialog(context, "Please wait..");
// printLogs(dio);
dio.options = BaseOptions(
receiveTimeout: const Duration(
seconds: Constants.defaultSubmitTimeout,
),
connectTimeout: const Duration(
seconds: Constants.defaultSubmitTimeout,
),
followRedirects: true,
);
var data_ = json.encode(
{
"partnerId": partnerId,
"partnerType": storage.read("LEVEL_NAME"),
"distributeId": partnerId,
"distributeType": storage.read("LEVEL_NAME"),
"paymentTransactionId": paymentId,
"billingOrShippingAddressId": "",
"transactionRemarks": "",
"purchaseOrderReferenceNumber": "",
"branchId": "",
"externalParentTransactionId": "",
"relatedParty": [
{"name": storage.read("USER_ID"), "role": "CreatedBy"},
{"name": "Regional Distributor(RD)", "role": "DistributorType"},
{"name": storage.read("USER_ID"), "role": "agentId"}
],
"checkInId": checkinId,
},
);
dio
.post(
'${ApiConstant.posBaseUrl}pos-purchase-order-service-svc/transaction/$transactionType/carts/$cartId',
data: data_,
options: Options(
headers: {
'X-User-Id': storage.read("XUSER_ID"),
'X-User-Name': storage.read("XUSER_ID")
},
),
)
.then((response) {
if (response.data != null) {
print('orderCreation${response.data}');
OrderCreationModel model = OrderCreationModel();
Map<String, dynamic> creditData = response.data;
model = OrderCreationModel.fromJson(creditData);
if (model.status == 'POS200') {
Get.back();
Get.to(
() => OrderSuccessScreen(
orderCreationModel: model,
isBankPayment: isBank,
isCashOnDelivery: isCashOnDelivery,
),
);
} else {
Get.back();
Helper.messageDialog(
Get.context!,
model.errors?[0]?["errorItem"]["errorCode"] ?? "Try Again",
model.errors?[0]?["errorItem"]["errorMessage"] ??
"Something went wrong",
);
}
}
}).catchError((error) {
print(error.toString());
Get.back();
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
});
} catch (e) {
Get.back();
}
}