addToCart method

dynamic addToCart(
  1. BuildContext context,
  2. AddToCartRequest request,
  3. ProductContentModel offerList
)

Implementation

addToCart(BuildContext context, AddToCartRequest request,
    ProductContentModel offerList) async {
  WidgetsBinding.instance.addPostFrameCallback((_) {
    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 adhocTax = [];
  // request.adhocTax?.forEach((element) {
  //   adhocTax.add(element.toJson());
  // });
  // printLogs(dio);
  dio
      .post(
    '${ApiConstant.posBaseUrl}pos-cart-service-svc/generic-carts',
    data: json.encode({
      '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) {
    Get.back();
    if (response.data != null) {
      print('addToCart${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);
        Helper.showCustomSnackbar('Item added successfully.');
      } else {
        Helper.messageDialog(
          Get.context!,
          model.errors?[0].errorItem?.errorCode ?? "Try Again!!",
          model.errors?[0].errorItem?.errorMessage ?? "Unknown issue",
        );
      }
    }
  }, onError: (error) {
    print(error.toString());
    Get.back();
    Helper.messageDialog(Get.context!, "Try Again!!", error.toString());
  });
}