updateSellThruOrder method
Implementation
Future<void> updateSellThruOrder(CartResponseModel 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 = model.data!.totalInvoiceAmount!.amount ?? 0; // subTotal
var totalNetAmount =
model.data?.totalInvoiceAmount?.amount ?? 0; // strike through
double totalTax = model.data?.totalVatAmount?.amount ?? 0; //
double ctw = 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 currency = model.data!.totalInvoiceAmount?.currency ?? "USD";
var localGrandTotal =
"2"; // model.data!.grandTotalInLocalCurrency!.price!.amount;
// model.data?.taxes?.forEach((tax) {
// if (tax.name == "SalesTax") {
// salesTax = tax.name!;
// totalTax = double.parse(tax.totalPrice!);
// }
// if (tax.name!.toLowerCase() == "ctw") {
// ctwNegativeTax = tax.name!;
// ctw = double.parse(tax.totalPrice!);
// }
// });
var totalDiscount = 0.0;
var netCommission = 0.0;
int overallSaleTaxPercentage = 0; //
// overallSaleTaxPercentage = model.data?.overallSaleTaxPercentage ?? 0.0;
// List<SaleTaxes>? saleTaxes = model.data?.taxes;
// overallSaleTaxPercentage = saleTaxes?.firstOrNull?.taxPercentageValue ?? 0;
// totalTax = double.parse(saleTaxes?.firstOrNull?.totalPrice ?? "0.0");
double? ctwPercentage = 0.0;
selectedProduct.clear();
var totalAmountPaid =
model.data!.totalInvoiceAmount!.amount.toString() ?? "0.0";
var products = model.data!.lineItems;
ConditionalLogs().customLog('products${products}');
RxList<ProductContentModel> temp = <ProductContentModel>[].obs;
var totalQuantity = 0;
for (var product in products!) {
totalQuantity = totalQuantity + product.quantity!;
if (product.quantity! != 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.description;
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: double.parse(totalAmountPaid),
netCommission: netCommission,
);
// BuildContext context = Get.context!;
// if (selectedProduct.isEmpty) {
// clean(context);
// }
}