updateSellThruReOrder method
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);
// }
}