|
|
@ -59,7 +59,7 @@ namespace eShopOnContainers.Core.ViewModels |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public ICommand AddCommand => new Command<BasketItem>(AddItem); |
|
|
|
public ICommand AddCommand => new Command<BasketItem>(async (item) => await AddItemAsync(item)); |
|
|
|
|
|
|
|
public ICommand CheckoutCommand => new Command(async () => await CheckoutAsync()); |
|
|
|
|
|
|
@ -80,22 +80,22 @@ namespace eShopOnContainers.Core.ViewModels |
|
|
|
foreach (var basketItem in basket.Items) |
|
|
|
{ |
|
|
|
BadgeCount += basketItem.Quantity; |
|
|
|
AddBasketItem(basketItem); |
|
|
|
await AddBasketItemAsync(basketItem); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
MessagingCenter.Unsubscribe<CatalogViewModel, CatalogItem>(this, MessengerKeys.AddProduct); |
|
|
|
MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessengerKeys.AddProduct, (sender, arg) => |
|
|
|
MessagingCenter.Subscribe<CatalogViewModel, CatalogItem>(this, MessengerKeys.AddProduct, async (sender, arg) => |
|
|
|
{ |
|
|
|
BadgeCount++; |
|
|
|
|
|
|
|
AddCatalogItem(arg); |
|
|
|
await AddCatalogItemAsync(arg); |
|
|
|
}); |
|
|
|
|
|
|
|
await base.InitializeAsync(navigationData); |
|
|
|
} |
|
|
|
|
|
|
|
private void AddCatalogItem(CatalogItem item) |
|
|
|
private async Task AddCatalogItemAsync(CatalogItem item) |
|
|
|
{ |
|
|
|
BasketItems.Add(new BasketItem |
|
|
|
{ |
|
|
@ -106,26 +106,23 @@ namespace eShopOnContainers.Core.ViewModels |
|
|
|
Quantity = 1 |
|
|
|
}); |
|
|
|
|
|
|
|
ReCalculateTotal(); |
|
|
|
await ReCalculateTotal(); |
|
|
|
} |
|
|
|
|
|
|
|
private void AddItem(BasketItem item) |
|
|
|
private async Task AddItemAsync(BasketItem item) |
|
|
|
{ |
|
|
|
BadgeCount++; |
|
|
|
|
|
|
|
AddBasketItem(item); |
|
|
|
|
|
|
|
await AddBasketItemAsync(item); |
|
|
|
RaisePropertyChanged(() => BasketItems); |
|
|
|
} |
|
|
|
|
|
|
|
private void AddBasketItem(BasketItem item) |
|
|
|
private async Task AddBasketItemAsync(BasketItem item) |
|
|
|
{ |
|
|
|
BasketItems.Add(item); |
|
|
|
|
|
|
|
ReCalculateTotal(); |
|
|
|
await ReCalculateTotal(); |
|
|
|
} |
|
|
|
|
|
|
|
private async void ReCalculateTotal() |
|
|
|
private async Task ReCalculateTotal() |
|
|
|
{ |
|
|
|
Total = 0; |
|
|
|
|
|
|
|