updateCart method

dynamic updateCart(
  1. BuildContext context,
  2. String cartId,
  3. AddToCartRequest request,
  4. ProductContentModel offerList, {
  5. bool isShowMsg = false,
})

Implementation

updateCart(
  BuildContext context,
  String cartId,
  AddToCartRequest request,
  ProductContentModel offerList, {
  bool isShowMsg = false,
}) async {
  Helper.progressDialog(context, "Please wait..");
  try {
    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);
    dio
        .put(
      '${ApiConstant.posBaseUrl}pos-cart-service-svc/generic-carts/$cartId',
      data: {
        'category': request.category,
        'contextParameters': request.contextParameters?.toJson(),
        'relatedParty': relatedParty,
        'selectedCartoffers': selectedCartoffers
        //'adhocTax': adhocTax
      },
      options: Options(
        headers: {
          'X-User-Id': storage.read("XUSER_ID"),
          'X-Roles': storage.read("XUSER_ID")
        },
      ),
    )
        .then((response) {
      if (response.data != null) {
        print('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!;
          updateSellThruOrder(model);
          Get.back();
          if (isShowMsg) {
            Helper.showCustomSnackbar('Item added successfully.');
          }
        } else {
          Get.back();
          Helper.messageDialog(
            Get.context!,
            model.errors?[0].errorItem?.errorCode ?? "Try Again!!",
            model.errors?[0].errorItem?.errorMessage ?? "Unknown issue",
          );
        }
      }
    }).catchError((error) {
      print(error.toString());
      Get.back();
      MainController mainController = Get.put(MainController());
      mainController.showErrorPopup();
    });
  } catch (e) {
    Get.back();
  }
}