updateQuantity method
Future<bool>
updateQuantity(
- BuildContext context,
- String quantity,
- String cartId,
- String productId,
Implementation
Future<bool> updateQuantity(
BuildContext context,
String quantity,
String cartId,
String productId,
) async {
Helper.progressDialog(context, "Please wait..");
Helper.hideKeyboard();
String requestTime = DateTime.now().toString();
try {
bool status = false;
// printLogs(dio);
await dio
.put(
'${ApiConstant.posBaseUrl}pos-cart-service-svc/generic-carts/$cartId/products/$productId/quantity',
data: json.encode({
"quantity": quantity,
}),
options: Options(
headers: {
'x-request-txn-id': UDID.uDID,
'x-trace-id': UDID.uDIDTraceId,
'X-User-Id': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'X-Roles': SecureStorageService.readSecureData(
SecureStorageService.xUserId,
),
'Accept-Language': storage.read("selected_language") ?? "en",
'Authorization': "Bearer ${SecureStorageService.readSecureData(
SecureStorageService.accessToken,
)}",
},
),
)
.then((response) async {
if (response.data != null) {
ConditionalLogs().customLog('updateQuantity${response.data}');
CartModel model = CartModel();
Map<String, dynamic> creditData = response.data;
model = CartModel.fromJson(creditData);
UDID.setTraceId(response.headers.map[Constants.traceIdKey]?[0] ?? "");
Helper.logEvent(
"RESPONSE_EVENT",
success: true,
endPoint:
"pos-cart-service-svc/generic-carts/$cartId/products/$productId/quantity",
responseDate: DateTime.now().toString(),
screenName: "orderStock",
requestDate: requestTime,
transactionId: cartId,
);
if (model.status == "POS200") {
cart_id.value = model.data!.cartId!;
discountList.value = model.data!.cartDiscountsList!;
await updateSellThruOrder(model);
Helper.close();
status = true;
} 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,
endPoint:
"pos-cart-service-svc/generic-carts/$cartId/products/$productId/quantity",
requestDate: requestTime,
responseDate: DateTime.now().toString(),
screenName: "orderStock",
transactionId: cartId,
error: error,
);
}
MainController mainController = Get.put(MainController());
mainController.showErrorPopup();
});
return status;
} catch (e) {
Helper.close();
if (e is DioException) {
UDID.setTraceId(
e.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
);
Helper.logEvent(
"ERROR_EVENT",
failure: true,
endPoint:
"pos-cart-service-svc/generic-carts/$cartId/products/$productId/quantity",
requestDate: requestTime,
responseDate: DateTime.now().toString(),
screenName: "orderStock",
transactionId: cartId,
error: e,
);
}
return false;
}
}