addToCartInSellIn method
Implementation
addToCartInSellIn(
BuildContext context,
String cartId,
addToCartSellIn.AddToCartSellInRequest request,
) 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 shippingMethod = [];
request.shippingMethod?.forEach((element) {
shippingMethod.add(element.toJson());
});
// var data = json.encode([
// {
// "type": "PICK_UP",
// "addressDetails": [
// {
// "entityId": pickupSelectedAddress.value.partnerId ?? "",
// "entityName": pickupSelectedAddress.value.partnerName ?? "",
// "type": "PICK_UP_ADDRESS",
// "locationCode":
// pickupSelectedAddress.value.address?.locationCode ?? "",
// "lattitude":
// pickupSelectedAddress.value.address?.lattitude ?? "0.0",
// "longitude":
// pickupSelectedAddress.value.address?.longitude ?? "0.0",
// "streetName": pickupSelectedAddress.value.address?.streetName ?? "",
// "streetNameNe":
// pickupSelectedAddress.value.address?.streetNameNe ?? "",
// "postalCode": pickupSelectedAddress.value.address?.postalCode ?? "",
// "locationName1":
// pickupSelectedAddress.value.address?.locationName1 ?? "",
// "locationName2":
// pickupSelectedAddress.value.address?.locationName2 ?? "",
// "locationName3":
// pickupSelectedAddress.value.address?.locationName3 ?? "",
// "locationName4":
// pickupSelectedAddress.value.address?.locationName4 ?? "",
// "formattedAddress":
// "${pickupSelectedAddress.value.address?.streetName ?? ''},${pickupSelectedAddress.value.address?.postalCode ?? ''},${pickupSelectedAddress.value.address?.locationName1 ?? ''},${pickupSelectedAddress.value.address?.locationName2 ?? ''},${pickupSelectedAddress.value.address?.locationName3 ?? ''},${pickupSelectedAddress.value.address?.locationName4 ?? ''}"
// },
// ]
// }
// ]);
String requestTime = DateTime.now().toString();
try {
await dio
.put(
'${ApiConstant.posBaseUrl}pos-cart-service-svc/generic-carts/$cartId',
data: {
// 'category': request.category,
// 'contextParameters': request.contextParameters?.toJson(),
// 'relatedParty': relatedParty,
// 'selectedCartoffers': selectedCartoffers,
'shippingMethods': shippingMethod,
//'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] ?? "");
Helper.logEvent(
"RESPONSE_EVENT",
success: true,
endPoint: "pos-cart-service-svc/generic-carts/$cartId",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
requestDate: requestTime,
transactionId: cartId,
);
if (response.data != null) {
ConditionalLogs().customLog('updateCart${response.data}');
CartModel model = CartModel();
Map<String, dynamic> creditData = response.data;
model = CartModel.fromJson(creditData);
if (model.status == "POS200") {
cart_id.value = model.data!.cartId!;
discountList.value = model.data!.cartDiscountsList!;
// for (var del in deliveryList) {
// if (deliveryList.isNotEmpty) {
// if (deliveryList.length == 1) {
// deliveryShippingSelected.value = deliveryList[0].type ?? "";
// selectedDeliveryPrice.value =
// double.parse(deliveryList[0].value?.amount ?? "0.0");
// }
// }
// // if (del.type == "STANDARD_DELIVERY") {
// // selectedDeliveryPrice.value =
// // double.parse(del.value?.amount ?? "0.0") ?? 0.0;
// // break; // Exit loop once the condition is met
// // }
// }
updateSellThruOrder(model);
Helper.close();
isShippingMethodSelected.value = true;
Helper.showCustomSnackbar1(
localization.translate("updateCartSuccessfully"));
} else {
Helper.close();
isShippingMethodSelected.value = false;
// Helper.messageDialog(
// Get.context!,
// model.errors![0].code ?? localization.translate("tryAgain"),
// model.errors![0].localeMessage ??
// localization.translate("somethingWentWrong"),
// );
}
} else {
Helper.close();
isShippingMethodSelected.value = false;
}
}).catchError((error) {
ConditionalLogs().customLog("$error");
Helper.close();
isShippingMethodSelected.value = false;
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/$cartId",
responseDate: DateTime.now().toString(),
screenName: "stockOrder",
error: error,
transactionId: cartId,
);
}
// MainController mainController = Get.put(MainController());
// mainController.showErrorPopup();
});
} catch (err, stacktrace) {
ConditionalLogs().customLog("$stacktrace");
Helper.close();
isShippingMethodSelected.value = false;
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,
);
}
}
}