diff --git a/lib/core/model/pharmacies/ShoppingCartResponse.dart b/lib/core/model/pharmacies/ShoppingCartResponse.dart index 332f63b6..1d90464d 100644 --- a/lib/core/model/pharmacies/ShoppingCartResponse.dart +++ b/lib/core/model/pharmacies/ShoppingCartResponse.dart @@ -8,6 +8,7 @@ class ShoppingCartResponse { double subtotalWithVat; double subtotalVatAmount; double subtotalVatRate; + double totalAmount; List shoppingCarts; ShoppingCartResponse( @@ -16,7 +17,8 @@ class ShoppingCartResponse { this.subtotal=0.0, this.subtotalWithVat = 0.0, this.subtotalVatAmount = 0.0, - this.subtotalVatRate = 0.0 , + this.subtotalVatRate = 0.0, + this.totalAmount = 0.0, this.shoppingCarts}); diff --git a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart index d498d095..4aa01776 100644 --- a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart +++ b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart @@ -107,6 +107,7 @@ class OrderPreviewViewModel extends BaseViewModel { } ShoppingCartResponse _handleGetShoppingCartResponse(Map res) { + cartResponse.totalAmount = 0.0; totalAdditionalShippingCharge = 0; if (res == null) { error = "response is null"; @@ -124,7 +125,7 @@ class OrderPreviewViewModel extends BaseViewModel { if (paymentCheckoutData.shippingOption != null) { totalAdditionalShippingCharge = paymentCheckoutData.shippingOption.rate; 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) { @@ -132,6 +133,7 @@ class OrderPreviewViewModel extends BaseViewModel { cartResponse.shoppingCarts.add(shoppingCart); totalAdditionalShippingCharge += shoppingCart.product.additionalShippingCharge; }); + if (paymentCheckoutData.shippingOption != null) cartResponse.totalAmount = (cartResponse.subtotalWithVat + totalAdditionalShippingCharge + paymentCheckoutData.shippingOption.rateVat); return cartResponse; } diff --git a/lib/pages/pharmacies/screens/cart-page/cart-order-preview.dart b/lib/pages/pharmacies/screens/cart-page/cart-order-preview.dart index cc2e1edc..0110984c 100644 --- a/lib/pages/pharmacies/screens/cart-page/cart-order-preview.dart +++ b/lib/pages/pharmacies/screens/cart-page/cart-order-preview.dart @@ -200,7 +200,7 @@ class _OrderPreviewPageState extends State { fontWeight: FontWeight.bold, ), Texts( - "${TranslationBase.of(context).sar} ${(widget.model.cartResponse.subtotal).toStringAsFixed(2)}", + "${TranslationBase.of(context).sar} ${(widget.model.cartResponse.totalAmount).toStringAsFixed(2)}", fontSize: 14, color: Colors.black, fontWeight: FontWeight.bold, diff --git a/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart b/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart index 389b4331..24592fe7 100644 --- a/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart +++ b/lib/pages/pharmacies/screens/cart-page/payment_bottom_widget.dart @@ -40,7 +40,7 @@ class PaymentBottomWidget extends StatelessWidget { child: Row( children: [ Texts( - "${TranslationBase.of(context).sar} ${(model.cartResponse.subtotal).toStringAsFixed(2)}", + "${TranslationBase.of(context).sar} ${(model.cartResponse.totalAmount).toStringAsFixed(2)}", fontSize: 14, fontWeight: FontWeight.bold, color: Color(0xff929295), diff --git a/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart b/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart index 85bc7cb8..5eb93ae4 100644 --- a/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart +++ b/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart @@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/pharmacies/screens/payment-method-select-page.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/AddAddress.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; +import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; @@ -121,12 +122,20 @@ class _PharmacyAddressesState extends State { backgroundColor: Color(0xFF5AB145), fontSize: 14, vPadding: 8, - handler: () { + handler: () async { //TODO Elham* widget.orderPreviewViewModel.paymentCheckoutData .address = Addresses.fromJson( model.addresses[model.selectedAddressIndex].toJson()); + + GifLoaderDialogUtils.showMyDialog(context); + + + await widget.orderPreviewViewModel.getInformationsByAddress(widget.orderPreviewViewModel.user.patientIdentificationNo); + await widget.orderPreviewViewModel.getShoppingCart(); + // widget.changeMainState(); + GifLoaderDialogUtils.hideDialog(context); model.saveSelectedAddressLocally( model.addresses[model.selectedAddressIndex]); _navigateToPaymentOption(model);