diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Basket/BasketItem.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Basket/BasketItem.cs index e02f66668..b9d8758ef 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Basket/BasketItem.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Basket/BasketItem.cs @@ -15,6 +15,16 @@ namespace eShopOnContainers.Core.Models.Basket public decimal UnitPrice { get; set; } + public decimal OldUnitPrice { get; set; } + + public bool HasNewPrice + { + get + { + return OldUnitPrice != 0.0m; + } + } + public int Quantity { get { return _quantity; } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Orders/Order.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Orders/Order.cs index 15967156e..3c3c41265 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Orders/Order.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Models/Orders/Order.cs @@ -34,6 +34,9 @@ namespace eShopOnContainers.Core.Models.Orders [JsonProperty("country")] public string ShippingCountry { get; set; } + [JsonProperty("zipCode")] + public string ShippingZipCode { get; set; } + public int CardTypeId { get; set; } public string CardNumber { get; set; } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/BasketViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/BasketViewModel.cs index a19e8dcdd..bf0365c89 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/BasketViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/BasketViewModel.cs @@ -78,7 +78,9 @@ namespace eShopOnContainers.Core.ViewModels if (basket != null && basket.Items != null && basket.Items.Any()) { + BadgeCount = 0; BasketItems.Clear(); + foreach (var basketItem in basket.Items) { BadgeCount += basketItem.Quantity; diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CheckoutViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CheckoutViewModel.cs index 41b8220e6..56734d423 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CheckoutViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CheckoutViewModel.cs @@ -90,7 +90,7 @@ namespace eShopOnContainers.Core.ViewModels ZipCode = userInfo?.ZipCode, State = userInfo?.State, Country = userInfo?.Country, - City = string.Empty + City = userInfo?.Address }; // Create Payment Info @@ -117,7 +117,8 @@ namespace eShopOnContainers.Core.ViewModels ShippingState = _shippingAddress.State, ShippingCountry = _shippingAddress.Country, ShippingStreet = _shippingAddress.Street, - ShippingCity = _shippingAddress.City, + ShippingCity = _shippingAddress.City, + ShippingZipCode = _shippingAddress.ZipCode, Total = CalculateTotal(CreateOrderItems(orderItems)) }; diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs index aee1df50d..68af0f936 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml.cs @@ -44,5 +44,16 @@ namespace eShopOnContainers.Core.Views await profileViewModel.InitializeAsync(null); ProfileView.BindingContext = profileViewModel; } + + protected override async void OnCurrentPageChanged() + { + base.OnCurrentPageChanged(); + + if (CurrentPage is BasketView) + { + // Force basket view refresh every time we access it + await (BasketView.BindingContext as ViewModelBase).InitializeAsync(null); + } + } } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/BasketItemTemplate.xaml b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/BasketItemTemplate.xaml index 2e516072f..6fb568783 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/BasketItemTemplate.xaml +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/Templates/BasketItemTemplate.xaml @@ -83,6 +83,7 @@ + @@ -131,10 +132,24 @@ Text="{Binding Total, StringFormat='${0:N}'}" Style="{StaticResource OrderTotalStyle}"/> - + +