addToCartReOrder method
dynamic
addToCartReOrder(
- BuildContext context,
- AddToCartRequest request,
- ProductContentModel offerList
Implementation
addToCartReOrder(
BuildContext context,
AddToCartRequest request,
ProductContentModel offerList,
) async {
Helper.progressDialog(context, "Please wait..");
List relatedParty = [];
request.relatedParty?.forEach((element) {
relatedParty.add(element.toJson());
});
List selectedCartoffers = [];
request.selectedCartoffers?.forEach((element) {
selectedCartoffers.add(element.toJson());
});
// List adhocTax = [];
// request.adhocTax?.forEach((element) {
// adhocTax.add(element.toJson());
// });
// printLogs(dio);
String requestTime = DateTime.now().toString();
try {
dio
.post(
'${ApiConstant.posBaseUrl}pos-cart-service-svc/generic-carts',
data: json.encode({
'category': request.category,
'contextParameters': request.contextParameters?.toJson(),
'relatedParty': relatedParty,
'selectedCartoffers': selectedCartoffers
//'adhocTax': adhocTax
}),
options: Options(
headers: {
'X-User-Id': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'X-Roles': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'Accept-Language': storage.read("selected_language") ?? "en",
'x-request-txn-id': UDID.uDID,
'x-trace-id': UDID.uDIDTraceId,
"Authorization": "Bearer ${SecureStorageService.readSecureData(
SecureStorageService.accessToken,
)}",
},
),
)
.then((response) {
UDID.setTraceId(response.headers.map[Constants.traceIdKey]?[0] ?? "");
if (response.data != null) {
ConditionalLogs().customLog('addToCart${response.data}');
CartModel model = CartModel();
Map<String, dynamic> creditData = response.data;
model = CartModel.fromJson(creditData);
Helper.logEvent(
"RESPONSE_EVENT",
success: true,
endPoint: "pos-cart-service-svc/generic-carts",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
requestDate: requestTime,
transactionId: model.data?.cartId,
);
if (model.status == "POS200") {
cart_id.value = model.data!.cartId!;
Helper.close();
Helper.showCustomSnackbar(
localization.translate("itemAddedSuccessfully"));
createReOrder.value = 1;
updateSellThruOrder(model);
Get.to(() => const SellInReOrderCartScreen());
} else {
Helper.close();
Helper.messageDialog(
Get.context!,
model.errors![0].code ?? localization.translate("tryAgain"),
model.errors![0].localeMessage ??
localization.translate("somethingWentWrong"),
);
}
} else {
Helper.close();
}
}).catchError((error) {
ConditionalLogs().customLog("$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: "pos-cart-service-svc/generic-carts",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
error: error,
);
}
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
});
} catch (err, stacktrace) {
ConditionalLogs().customLog("$stacktrace");
Helper.close();
if (err is DioException) {
UDID.setTraceId(
err.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
);
Helper.logEvent(
"ERROR_EVENT",
failure: true,
requestDate: requestTime,
endPoint: "pos-cart-service-svc/generic-carts",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
error: err,
);
}
}
}