cartGetTotalForAllServices2 function
Implementation
PriceTotalForCardData cartGetTotalForAllServices2(List<ProductData> _cart) {
double subtotal = 0;
double coupon = 0;
double tax = 0;
double total = 0;
double toAdmin = 0;
for (var service in _cart){
if ((cartCurrentProvider != null && service.providers.isNotEmpty && service.providers[0] == cartCurrentProvider!.id)
|| (service.providers.isEmpty && cartCurrentProvider != null && cartCurrentProvider!.id == "root")){
if (service.thisIsArticle) {
currentArticle = service;
var t = articleGetTotalPrice();
if (t != null) {
t *= service.countProduct;
var _tax = service.tax / 100 * t;
subtotal += t;
tax += _tax;
total += (t + _tax);
toAdmin += (getSubTotalWithCoupon() * service.taxAdmin / 100);
}
} else {
countProduct = service.countProduct;
setDataToCalculate(null, service);
subtotal += getSubTotalWithCoupon();
coupon += getCoupon();
tax += getTax();
total += getTotal();
toAdmin += (getSubTotalWithCoupon() * service.taxAdmin / 100);
}
}
}
return PriceTotalForCardData(subtotal, coupon, toAdmin, tax, total,
getPriceString(coupon),
getPriceString(tax),
getPriceString(total),
);
}