From f88864efd4ce2ef069ea95a9d5c178c755d91611 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Wed, 10 Nov 2021 16:20:34 +0200 Subject: [PATCH 1/4] fix calling missing APi --- .../pharmacy/pharmacyAddresses/PharmacyAddresses.dart | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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); From a3fdb35c3047d7c6a034db3f8cafffb8cd891e6e Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 10 Nov 2021 17:25:07 +0300 Subject: [PATCH 2/4] fixes --- .../screens/cart-page/cart-order-preview.dart | 2 +- .../cart-page/payment_bottom_widget.dart | 2 +- .../pharmacyAddresses/PharmacyAddresses.dart | 64 ++++++------------- 3 files changed, 21 insertions(+), 47 deletions(-) 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..8fab19c0 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.subtotalWithVat).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..45e37abd 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.subtotalWithVat).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..4e3d7d9d 100644 --- a/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart +++ b/lib/pages/pharmacy/pharmacyAddresses/PharmacyAddresses.dart @@ -22,17 +22,14 @@ class PharmacyAddressesPage extends StatefulWidget { final bool isUpdate; - const PharmacyAddressesPage( - {Key key, this.orderPreviewViewModel, this.isUpdate = false, this.changeMainState}) - : super(key: key); + const PharmacyAddressesPage({Key key, this.orderPreviewViewModel, this.isUpdate = false, this.changeMainState}) : super(key: key); @override _PharmacyAddressesState createState() => _PharmacyAddressesState(); } class _PharmacyAddressesState extends State { - void navigateToAddressPage( - BuildContext ctx, PharmacyAddressesViewModel model, AddressInfo address) { + void navigateToAddressPage(BuildContext ctx, PharmacyAddressesViewModel model, AddressInfo address) { Navigator.push( ctx, FadePage( @@ -48,7 +45,7 @@ class _PharmacyAddressesState extends State { return BaseView( onModelReady: (model) => model.getAddressesList(), builder: (_, model, wi) => AppScaffold( - appBarTitle: widget.isUpdate?TranslationBase.of(context).changeAddress:"Add Address", + appBarTitle: widget.isUpdate ? TranslationBase.of(context).changeAddress : "Add Address", isShowAppBar: true, isPharmacy: true, baseViewModel: model, @@ -123,12 +120,8 @@ class _PharmacyAddressesState extends State { vPadding: 8, handler: () { //TODO Elham* - widget.orderPreviewViewModel.paymentCheckoutData - .address = - Addresses.fromJson( - model.addresses[model.selectedAddressIndex].toJson()); - model.saveSelectedAddressLocally( - model.addresses[model.selectedAddressIndex]); + widget.orderPreviewViewModel.paymentCheckoutData.address = Addresses.fromJson(model.addresses[model.selectedAddressIndex].toJson()); + model.saveSelectedAddressLocally(model.addresses[model.selectedAddressIndex]); _navigateToPaymentOption(model); }, ), @@ -141,15 +134,13 @@ class _PharmacyAddressesState extends State { } _navigateToPaymentOption(model) { - if(widget.isUpdate) { - print("sfsf"); - + if (widget.isUpdate) { widget.orderPreviewViewModel.paymentCheckoutData.address = Addresses.fromJson(model.addresses[model.selectedAddressIndex].toJson()); widget.changeMainState(); Navigator.pop(context); - return; } + Navigator.push( context, FadePage( @@ -159,8 +150,7 @@ class _PharmacyAddressesState extends State { setState(() { if (result != null) { var paymentOption = result; - widget.orderPreviewViewModel.paymentCheckoutData.paymentOption = - paymentOption; + widget.orderPreviewViewModel.paymentCheckoutData.paymentOption = paymentOption; } // widget.changeMainState(); }) @@ -175,8 +165,7 @@ class AddressItemWidget extends StatelessWidget { final bool isSelected; final Function(AddressInfo) onTabEditAddress; - AddressItemWidget(this.model, this.address, this.selectAddress, - this.isSelected, this.onTabEditAddress); + AddressItemWidget(this.model, this.address, this.selectAddress, this.isSelected, this.onTabEditAddress); @override Widget build(BuildContext context) { @@ -202,18 +191,13 @@ class AddressItemWidget extends StatelessWidget { decoration: new BoxDecoration( color: !isSelected ? Colors.white : Colors.green, shape: BoxShape.circle, - border: Border.all( - color: Colors.grey, - style: BorderStyle.solid, - width: 1.0), + border: Border.all(color: Colors.grey, style: BorderStyle.solid, width: 1.0), ), child: Padding( padding: const EdgeInsets.all(0.0), child: Icon( Icons.check, - color: isSelected - ? Colors.white - : Colors.transparent, + color: isSelected ? Colors.white : Colors.transparent, size: 25, ), ), @@ -226,8 +210,7 @@ class AddressItemWidget extends StatelessWidget { Expanded( child: Container( child: Container( - margin: - EdgeInsets.symmetric(vertical: 12, horizontal: 12), + margin: EdgeInsets.symmetric(vertical: 12, horizontal: 12), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -290,8 +273,7 @@ class AddressItemWidget extends StatelessWidget { ), ), Padding( - padding: - const EdgeInsets.symmetric(horizontal: 8), + padding: const EdgeInsets.symmetric(horizontal: 8), child: SizedBox( child: Container( width: 1, @@ -309,21 +291,13 @@ class AddressItemWidget extends StatelessWidget { ConfirmDialog dialog = new ConfirmDialog( context: context, title: "Are you sure want to delete", - confirmMessage: - "${address.address1} ${address.address2}", - okText: - TranslationBase.of(context).delete, - cancelText: TranslationBase.of(context) - .cancel_nocaps, + confirmMessage: "${address.address1} ${address.address2}", + okText: TranslationBase.of(context).delete, + cancelText: TranslationBase.of(context).cancel_nocaps, okFunction: () => { - model - .deleteAddresses(address) - .then((_) { - ConfirmDialog.closeAlertDialog( - context); - AppToast.showErrorToast( - message: - "Address has been deleted"); + model.deleteAddresses(address).then((_) { + ConfirmDialog.closeAlertDialog(context); + AppToast.showErrorToast(message: "Address has been deleted"); }) }, cancelFunction: () => {}); From 7a8ed5b0146b935ce0c0c5aeae17b0d79f2b20c7 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 10 Nov 2021 18:05:07 +0300 Subject: [PATCH 3/4] Total amount calculation fixes --- lib/core/model/pharmacies/ShoppingCartResponse.dart | 4 +++- lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart | 4 +++- .../pharmacies/screens/cart-page/cart-order-preview.dart | 2 +- .../pharmacies/screens/cart-page/payment_bottom_widget.dart | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) 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..7d908441 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; }); + 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 8fab19c0..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.subtotalWithVat).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 45e37abd..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.subtotalWithVat).toStringAsFixed(2)}", + "${TranslationBase.of(context).sar} ${(model.cartResponse.totalAmount).toStringAsFixed(2)}", fontSize: 14, fontWeight: FontWeight.bold, color: Color(0xff929295), From 464ad9a3cba67685888719fb2350f678b647cb3c Mon Sep 17 00:00:00 2001 From: Haroon Amjad Date: Wed, 10 Nov 2021 22:18:30 +0300 Subject: [PATCH 4/4] Shopping cart fix --- lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart index 7d908441..4aa01776 100644 --- a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart +++ b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart @@ -133,7 +133,7 @@ class OrderPreviewViewModel extends BaseViewModel { cartResponse.shoppingCarts.add(shoppingCart); totalAdditionalShippingCharge += shoppingCart.product.additionalShippingCharge; }); - cartResponse.totalAmount = (cartResponse.subtotalWithVat + totalAdditionalShippingCharge + paymentCheckoutData.shippingOption.rateVat); + if (paymentCheckoutData.shippingOption != null) cartResponse.totalAmount = (cartResponse.subtotalWithVat + totalAdditionalShippingCharge + paymentCheckoutData.shippingOption.rateVat); return cartResponse; }