updateMehodDelivery method
Implementation
Future<void> updateMehodDelivery(
String orderID,
int? orderItemID,
String methodName,
) async {
if (viewState.value.data != null) {
isDeliveryUpdating.value = true;
Checkout cartCopy = viewState.value.data!.copyWith();
UpdateCartRequest request = mapCartToUpdateCartRequest(cartCopy);
for (var element in request.dataList) {
if (element.orderID == (int.tryParse(orderID) ?? -1) &&
element.orderItemID == (orderItemID ?? element.orderItemID)) {
element.deliveryMethod = methodName;
if (altStoreId != null) {
element.branchID = altStoreId;
}
if (altAddressId != null) {
element.addressID = altAddressId;
}
}
}
// for (var element in request.dataList) {
// if (element.orderID == (int.tryParse(orderID) ?? -1) &&
// element.orderItemID == (orderItemID ?? element.orderItemID)) {
// element.deliveryMethod = methodName;
// if (altStoreId != null &&
// (orderItemID != null && element.orderItemID == orderItemID)) {
// element.branchID = altStoreId;
// }
// }
// if (altAddressId != null && element.branchID == altStoreId) {
// element.addressID = altAddressId;
// }
// }
altAddressId = null;
altStoreId = null;
final response = await cartService.updateCart(request);
response.fold(
(error) {
isDeliveryUpdating.value = false;
onError?.call(error.message);
},
(result) {
isDeliveryUpdating.value = false;
update();
},
);
}
}