updateSellThruReOrder method

Future<void> updateSellThruReOrder(
  1. CartDetailsResponseModel model
)

Implementation

Future<void> updateSellThruReOrder(CartDetailsResponseModel model) async {
  // deliveryList.value = model.data?.shippingMethodTypes ?? [];
  // for (var del in deliveryList) {
  //   if (del.type == deliveryShippingSelected.value) {
  //     selectedDeliveryPrice.value =
  //         double.parse(del.value?.amount ?? "0.0") ?? 0.0;
  //     break; // Exit loop once the condition is met
  //   }
  // }
  var totalAmount =
      0.0; // model.data!.totalInvoiceAmount!.amount ?? 0; // subTotal
  var totalNetAmount =
      0.0; //model.data?.totalInvoiceAmount?.amount ?? 0; // strike through
  double totalTax = 0.0; //model.data?.totalVatAmount?.amount ?? 0; //
  double ctw = 0.0; //model.data?.totalExciseAmount?.amount ?? 0; // - value
  //discountAmount.value = model.data?.totalDiscount ?? "";
  var salesTax = "";
  var ctwNegativeTax = ""; // red color
  var localCurrency =
      "2"; //model.data!.grandTotalInLocalCurrency!.price!.currency;

  var localGrandTotal =
      "2"; // model.data!.grandTotalInLocalCurrency!.price!.amount;

  var totalDiscount = 0.0;
  var netCommission = 0.0;
  int overallSaleTaxPercentage = 0; //

  double? ctwPercentage = 0.0;
  var totalAmountPaid = 0.0;
  var products = model.data!.lineItems;
  ConditionalLogs().customLog('products${products}');
  RxList<ProductContentModel> temp = <ProductContentModel>[].obs;
  var totalQuantity = 0;
  var currency = "";
  for (var product in products ?? []) {
    currency = products?[0].totalInvoiceAmount?.currency ?? "USD";
    totalAmountPaid = totalAmountPaid +
        double.parse(product.totalInvoiceAmount?.amount.toString() ?? "0.0");
    totalAmount = totalAmount +
        double.parse(product.totalInvoiceAmount?.amount.toString() ?? "0.0");
    totalNetAmount = totalNetAmount +
        double.parse(product.totalInvoiceAmount?.amount.toString() ?? "0.0");
    totalTax = totalTax +
        double.parse(product.totalVatAmount?.amount.toString() ?? "0.0");
    ctw = ctw +
        double.parse(product.totalExciseAmount?.amount.toString() ?? "0.0");
    totalQuantity =
        totalQuantity + int.parse(product.quantity.toString() ?? "0");
    ConditionalLogs().customLog('product  :: ==> ${product.name}');
    ProductContentModel productModel = ProductContentModel();
    productModel.id = int.parse(product.id!);
    productModel.categoryId = product.pogId;
    productModel.productId = product.id;
    productModel.productName = product.name;
    productModel.productCode = //product.productCode;
        productModel.productImage = product.productImage;
    productModel.totalOrderedQuantity = 0;
    productModel.itemAmount = 0.0; //double.parse(product.unitPrice!);
    productModel.itemTax = 0.0; //double.parse(product.unitTax!);
    productModel.unitDiscount = 0.0; //double.parse(product.unitDiscount!);
    productModel.sellingPrice =
        double.parse(product.totalInvoiceAmountExclTax!.amount.toString());
    productModel.unitSellingPrice =
        double.parse(product.basePricePerUnit!.amount.toString());
    productModel.scannedQty = product.quantity!;
    temp.add(productModel);
  }
  ConditionalLogs().customLog('temp-->$temp');
  selectedProduct.value = [...temp]; // assigning product list

  sellThruOrder.value = sellThruOrder.value.copyWith(
      currency: currency,
      localCurrency: localCurrency,
      localCurrencyGrandTotal: double.parse(localGrandTotal!),
      ctwNegativeTax: ctwNegativeTax,
      ctw: ctw,
      salesTax: salesTax,
      content: selectedProduct,
      totalAmount: double.parse(totalAmount.toString()),
      totalNetAmount: totalNetAmount,
      totalTax: totalTax,
      taxPercentage: ctwPercentage.toString(),
      overallSaleTaxPercentage: overallSaleTaxPercentage.toDouble(),
      stockOrderOverallSaleTaxPercentage: totalQuantity,
      totalDiscount: totalDiscount,
      totalAmountPaid: (totalAmountPaid),
      netCommission: netCommission,
      dateTime: model.data?.orderDate);

  // BuildContext context = Get.context!;
  // if (selectedProduct.isEmpty) {
  //   clean(context);
  // }
}