Ensured that calls to NavigationService.NavigateAsync are awaited.

This commit is contained in:
David Britch 2017-03-07 11:56:18 +00:00
parent 4299c05039
commit 8b3bd3b7e2
5 changed files with 19 additions and 19 deletions

View File

@ -63,7 +63,7 @@ namespace eShopOnContainers.Core.ViewModels
public ICommand AddCommand => new Command<BasketItem>(AddItem); public ICommand AddCommand => new Command<BasketItem>(AddItem);
public ICommand CheckoutCommand => new Command(Checkout); public ICommand CheckoutCommand => new Command(async () => await CheckoutAsync());
public override async Task InitializeAsync(object navigationData) public override async Task InitializeAsync(object navigationData)
{ {
@ -151,11 +151,11 @@ namespace eShopOnContainers.Core.ViewModels
}, authToken); }, authToken);
} }
private void Checkout() private async Task CheckoutAsync()
{ {
if (BasketItems.Any()) if (BasketItems.Any())
{ {
NavigationService.NavigateToAsync<CheckoutViewModel>(BasketItems); await NavigationService.NavigateToAsync<CheckoutViewModel>(BasketItems);
} }
} }
} }

View File

@ -66,7 +66,7 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
public ICommand CheckoutCommand => new Command(Checkout); public ICommand CheckoutCommand => new Command(async () => await CheckoutAsync());
public override async Task InitializeAsync(object navigationData) public override async Task InitializeAsync(object navigationData)
{ {
@ -125,7 +125,7 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
private async void Checkout() private async Task CheckoutAsync()
{ {
try try
{ {

View File

@ -121,15 +121,15 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
public ICommand MockSignInCommand => new Command(MockSignInAsync); public ICommand MockSignInCommand => new Command(async () => await MockSignInAsync());
public ICommand SignInCommand => new Command(async () => await SignInAsync()); public ICommand SignInCommand => new Command(async () => await SignInAsync());
public ICommand RegisterCommand => new Command(Register); public ICommand RegisterCommand => new Command(Register);
public ICommand NavigateCommand => new Command<string>(NavigateAsync); public ICommand NavigateCommand => new Command<string>(async (url) => await NavigateAsync(url));
public ICommand SettingsCommand => new Command(SettingsAsync); public ICommand SettingsCommand => new Command(async () => await SettingsAsync());
public override Task InitializeAsync(object navigationData) public override Task InitializeAsync(object navigationData)
{ {
@ -146,7 +146,7 @@ namespace eShopOnContainers.Core.ViewModels
return base.InitializeAsync(navigationData); return base.InitializeAsync(navigationData);
} }
private async void MockSignInAsync() private async Task MockSignInAsync()
{ {
IsBusy = true; IsBusy = true;
IsValid = true; IsValid = true;
@ -219,7 +219,7 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
private async void NavigateAsync(string url) private async Task NavigateAsync(string url)
{ {
if (url.Equals(GlobalSetting.Instance.LogoutCallback)) if (url.Equals(GlobalSetting.Instance.LogoutCallback))
{ {
@ -246,7 +246,7 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
private async void SettingsAsync() private async Task SettingsAsync()
{ {
await NavigationService.NavigateToAsync<SettingsViewModel>(); await NavigationService.NavigateToAsync<SettingsViewModel>();
} }

View File

@ -9,7 +9,7 @@ namespace eShopOnContainers.Core.ViewModels
{ {
public class MainViewModel : ViewModelBase public class MainViewModel : ViewModelBase
{ {
public ICommand SettingsCommand => new Command(Settings); public ICommand SettingsCommand => new Command(async () => await SettingsAsync());
public override Task InitializeAsync(object navigationData) public override Task InitializeAsync(object navigationData)
{ {
@ -25,9 +25,9 @@ namespace eShopOnContainers.Core.ViewModels
return base.InitializeAsync(navigationData); return base.InitializeAsync(navigationData);
} }
private void Settings() private async Task SettingsAsync()
{ {
NavigationService.NavigateToAsync<SettingsViewModel>(); await NavigationService.NavigateToAsync<SettingsViewModel>();
} }
} }
} }

View File

@ -32,9 +32,9 @@ namespace eShopOnContainers.Core.ViewModels
} }
} }
public ICommand LogoutCommand => new Command(LogoutAsync); public ICommand LogoutCommand => new Command(async () => await LogoutAsync());
public ICommand OrderDetailCommand => new Command<Order>(OrderDetail); public ICommand OrderDetailCommand => new Command<Order>(async (order) => await OrderDetailAsync(order));
public override async Task InitializeAsync(object navigationData) public override async Task InitializeAsync(object navigationData)
{ {
@ -48,7 +48,7 @@ namespace eShopOnContainers.Core.ViewModels
IsBusy = false; IsBusy = false;
} }
private async void LogoutAsync() private async Task LogoutAsync()
{ {
IsBusy = true; IsBusy = true;
@ -59,9 +59,9 @@ namespace eShopOnContainers.Core.ViewModels
IsBusy = false; IsBusy = false;
} }
private void OrderDetail(Order order) private async Task OrderDetailAsync(Order order)
{ {
NavigationService.NavigateToAsync<OrderDetailViewModel>(order); await NavigationService.NavigateToAsync<OrderDetailViewModel>(order);
} }
} }
} }