updateCart method
Future<bool>
updateCart(
- BuildContext context,
- String cartId,
- dynamic request, {
- bool isShowMsg = false,
Implementation
Future<bool> updateCart(
BuildContext context,
String cartId,
dynamic request, {
bool isShowMsg = false,
}) async {
Helper.progressDialog(context, "pleaseWait".tr);
Helper.hideKeyboard();
// 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 {
String requestBody = json.encode(request);
print("Request Body: $requestBody");
bool status = false;
await dio
.post(
'${ApiConstant.posBaseUrl}pos-purchase-order-svc/generic-carts',
data: json.encode(request),
options: Options(
headers: {
'X-User-Id': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'X-User-Name': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'X-Roles': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'Accept-Language': storage.read("selected_language") ?? "en",
'x-request-txn-id': UDID.uDID,
"Authorization": "Bearer ${SecureStorageService.readSecureData(
SecureStorageService.accessToken,
)}",
},
),
)
.then((response) async {
UDID.setTraceId(response.headers.map[Constants.traceIdKey]?[0] ?? "");
Helper.logEvent(
"RESPONSE_EVENT",
success: true,
endPoint: "pos-purchase-order-svc/generic-carts/$cartId",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
requestDate: requestTime,
transactionId: cartId,
);
if (response.data != null) {
ConditionalLogs().customLog('updateCart${response.data}');
CartResponseModel model = CartResponseModel();
Map<String, dynamic> creditData = response.data;
//Map<String, dynamic> jsonMap = jsonDecode(cartResponse);
//model = CartResponseModel.fromJson(jsonMap);
model = CartResponseModel.fromJson(creditData);
if (model.status == "POS200") {
cart_id.value = model.data!.cartId!;
//discountList.value = model.data!.cartDiscountsList!;
updateSellThruOrder(model);
status = true;
Helper.close();
if (isShowMsg) {
Helper.showCustomSnackbar(
localization.translate("itemUpdateSuccessfully"));
}
} 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-purchase-order-svc/generic-carts/$cartId",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
error: error,
transactionId: cartId,
);
}
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
});
return status;
} 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/$cartId",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
error: err,
transactionId: cartId,
);
}
return false;
}
}