Total amount calculation fixes

merge-update-with-lab-changes
haroon amjad 4 years ago
parent c29aee46dd
commit 7a8ed5b014

@ -8,6 +8,7 @@ class ShoppingCartResponse {
double subtotalWithVat; double subtotalWithVat;
double subtotalVatAmount; double subtotalVatAmount;
double subtotalVatRate; double subtotalVatRate;
double totalAmount;
List<ShoppingCart> shoppingCarts; List<ShoppingCart> shoppingCarts;
ShoppingCartResponse( ShoppingCartResponse(
@ -16,7 +17,8 @@ class ShoppingCartResponse {
this.subtotal=0.0, this.subtotal=0.0,
this.subtotalWithVat = 0.0, this.subtotalWithVat = 0.0,
this.subtotalVatAmount = 0.0, this.subtotalVatAmount = 0.0,
this.subtotalVatRate = 0.0 , this.subtotalVatRate = 0.0,
this.totalAmount = 0.0,
this.shoppingCarts}); this.shoppingCarts});

@ -107,6 +107,7 @@ class OrderPreviewViewModel extends BaseViewModel {
} }
ShoppingCartResponse _handleGetShoppingCartResponse(Map res) { ShoppingCartResponse _handleGetShoppingCartResponse(Map res) {
cartResponse.totalAmount = 0.0;
totalAdditionalShippingCharge = 0; totalAdditionalShippingCharge = 0;
if (res == null) { if (res == null) {
error = "response is null"; error = "response is null";
@ -124,7 +125,7 @@ class OrderPreviewViewModel extends BaseViewModel {
if (paymentCheckoutData.shippingOption != null) { if (paymentCheckoutData.shippingOption != null) {
totalAdditionalShippingCharge = paymentCheckoutData.shippingOption.rate; totalAdditionalShippingCharge = paymentCheckoutData.shippingOption.rate;
cartResponse.subtotalVatAmount += paymentCheckoutData.shippingOption.rateVat; cartResponse.subtotalVatAmount += paymentCheckoutData.shippingOption.rateVat;
cartResponse.subtotal += paymentCheckoutData.shippingOption.rate + paymentCheckoutData.shippingOption.rateVat; cartResponse.totalAmount += (paymentCheckoutData.shippingOption.rate + paymentCheckoutData.shippingOption.rateVat);
} }
res["shopping_carts"].forEach((item) { res["shopping_carts"].forEach((item) {
@ -132,6 +133,7 @@ class OrderPreviewViewModel extends BaseViewModel {
cartResponse.shoppingCarts.add(shoppingCart); cartResponse.shoppingCarts.add(shoppingCart);
totalAdditionalShippingCharge += shoppingCart.product.additionalShippingCharge; totalAdditionalShippingCharge += shoppingCart.product.additionalShippingCharge;
}); });
cartResponse.totalAmount = (cartResponse.subtotalWithVat + totalAdditionalShippingCharge + paymentCheckoutData.shippingOption.rateVat);
return cartResponse; return cartResponse;
} }

@ -200,7 +200,7 @@ class _OrderPreviewPageState extends State<OrderPreviewPage> {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
Texts( Texts(
"${TranslationBase.of(context).sar} ${(widget.model.cartResponse.subtotalWithVat).toStringAsFixed(2)}", "${TranslationBase.of(context).sar} ${(widget.model.cartResponse.totalAmount).toStringAsFixed(2)}",
fontSize: 14, fontSize: 14,
color: Colors.black, color: Colors.black,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,

@ -40,7 +40,7 @@ class PaymentBottomWidget extends StatelessWidget {
child: Row( child: Row(
children: [ children: [
Texts( Texts(
"${TranslationBase.of(context).sar} ${(model.cartResponse.subtotalWithVat).toStringAsFixed(2)}", "${TranslationBase.of(context).sar} ${(model.cartResponse.totalAmount).toStringAsFixed(2)}",
fontSize: 14, fontSize: 14,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Color(0xff929295), color: Color(0xff929295),

Loading…
Cancel
Save