Merge branch 'development_new_design_2.0' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into hussam_pharmacy_fix

merge-requests/511/head
hussam al-habibeh 4 years ago
commit d7b32df024

@ -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;
}); });
if (paymentCheckoutData.shippingOption != null) 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.subtotal).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.subtotal).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),

@ -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/pharmacies/screens/payment-method-select-page.dart';
import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/AddAddress.dart'; import 'package:diplomaticquarterapp/pages/pharmacy/pharmacyAddresses/AddAddress.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.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/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -121,12 +122,20 @@ class _PharmacyAddressesState extends State<PharmacyAddressesPage> {
backgroundColor: Color(0xFF5AB145), backgroundColor: Color(0xFF5AB145),
fontSize: 14, fontSize: 14,
vPadding: 8, vPadding: 8,
handler: () { handler: () async {
//TODO Elham* //TODO Elham*
widget.orderPreviewViewModel.paymentCheckoutData widget.orderPreviewViewModel.paymentCheckoutData
.address = .address =
Addresses.fromJson( Addresses.fromJson(
model.addresses[model.selectedAddressIndex].toJson()); 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.saveSelectedAddressLocally(
model.addresses[model.selectedAddressIndex]); model.addresses[model.selectedAddressIndex]);
_navigateToPaymentOption(model); _navigateToPaymentOption(model);

Loading…
Cancel
Save