Removed unused code from NavigationService.

This commit is contained in:
David Britch 2017-03-20 16:58:37 +00:00
parent 33009ceb33
commit 4a073b96d8
3 changed files with 11 additions and 50 deletions

View File

@ -1,5 +1,4 @@
using eShopOnContainers.Core.ViewModels.Base; using eShopOnContainers.Core.ViewModels.Base;
using System;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace eShopOnContainers.Services namespace eShopOnContainers.Services
@ -12,12 +11,6 @@ namespace eShopOnContainers.Services
Task NavigateToAsync<TViewModel>(object parameter) where TViewModel : ViewModelBase; Task NavigateToAsync<TViewModel>(object parameter) where TViewModel : ViewModelBase;
Task NavigateToAsync(Type viewModelType);
Task NavigateToAsync(Type viewModelType, object parameter);
Task NavigateBackAsync();
Task RemoveLastFromBackStackAsync(); Task RemoveLastFromBackStackAsync();
Task RemoveBackStackAsync(); Task RemoveBackStackAsync();

View File

@ -12,14 +12,6 @@ namespace eShopOnContainers.Services
{ {
public class NavigationService : INavigationService public class NavigationService : INavigationService
{ {
protected Application CurrentApplication
{
get
{
return Application.Current;
}
}
public Task InitializeAsync() public Task InitializeAsync()
{ {
if(string.IsNullOrEmpty(Settings.AuthAccessToken)) if(string.IsNullOrEmpty(Settings.AuthAccessToken))
@ -38,32 +30,9 @@ namespace eShopOnContainers.Services
return InternalNavigateToAsync(typeof(TViewModel), parameter); return InternalNavigateToAsync(typeof(TViewModel), parameter);
} }
public Task NavigateToAsync(Type viewModelType) public Task RemoveLastFromBackStackAsync()
{ {
return InternalNavigateToAsync(viewModelType, null); var mainPage = Application.Current.MainPage as CustomNavigationView;
}
public Task NavigateToAsync(Type viewModelType, object parameter)
{
return InternalNavigateToAsync(viewModelType, parameter);
}
public async Task NavigateBackAsync()
{
if (CurrentApplication.MainPage is CatalogView)
{
var mainPage = CurrentApplication.MainPage as CatalogView;
await mainPage.Navigation.PopAsync();
}
else if (CurrentApplication.MainPage != null)
{
await CurrentApplication.MainPage.Navigation.PopAsync();
}
}
public virtual Task RemoveLastFromBackStackAsync()
{
var mainPage = CurrentApplication.MainPage as CustomNavigationView;
if (mainPage != null) if (mainPage != null)
{ {
@ -74,9 +43,9 @@ namespace eShopOnContainers.Services
return Task.FromResult(true); return Task.FromResult(true);
} }
public virtual Task RemoveBackStackAsync() public Task RemoveBackStackAsync()
{ {
var mainPage = CurrentApplication.MainPage as CustomNavigationView; var mainPage = Application.Current.MainPage as CustomNavigationView;
if (mainPage != null) if (mainPage != null)
{ {
@ -90,31 +59,31 @@ namespace eShopOnContainers.Services
return Task.FromResult(true); return Task.FromResult(true);
} }
protected virtual async Task InternalNavigateToAsync(Type viewModelType, object parameter) private async Task InternalNavigateToAsync(Type viewModelType, object parameter)
{ {
Page page = CreatePage(viewModelType, parameter); Page page = CreatePage(viewModelType, parameter);
if (page is LoginView) if (page is LoginView)
{ {
CurrentApplication.MainPage = new CustomNavigationView(page); Application.Current.MainPage = new CustomNavigationView(page);
} }
else else
{ {
var navigationPage = CurrentApplication.MainPage as CustomNavigationView; var navigationPage = Application.Current.MainPage as CustomNavigationView;
if (navigationPage != null) if (navigationPage != null)
{ {
await navigationPage.PushAsync(page); await navigationPage.PushAsync(page);
} }
else else
{ {
CurrentApplication.MainPage = new CustomNavigationView(page); Application.Current.MainPage = new CustomNavigationView(page);
} }
} }
await (page.BindingContext as ViewModelBase).InitializeAsync(parameter); await (page.BindingContext as ViewModelBase).InitializeAsync(parameter);
} }
protected Type GetPageTypeForViewModel(Type viewModelType) private Type GetPageTypeForViewModel(Type viewModelType)
{ {
var viewName = viewModelType.FullName.Replace("Model", string.Empty); var viewName = viewModelType.FullName.Replace("Model", string.Empty);
var viewModelAssemblyName = viewModelType.GetTypeInfo().Assembly.FullName; var viewModelAssemblyName = viewModelType.GetTypeInfo().Assembly.FullName;
@ -123,7 +92,7 @@ namespace eShopOnContainers.Services
return viewType; return viewType;
} }
protected Page CreatePage(Type viewModelType, object parameter) private Page CreatePage(Type viewModelType, object parameter)
{ {
Type pageType = GetPageTypeForViewModel(viewModelType); Type pageType = GetPageTypeForViewModel(viewModelType);
if (pageType == null) if (pageType == null)

View File

@ -2,7 +2,6 @@
using eShopOnContainers.Core.ViewModels.Base; using eShopOnContainers.Core.ViewModels.Base;
using eShopOnContainers.Core.Models.Navigation; using eShopOnContainers.Core.Models.Navigation;
using Xamarin.Forms; using Xamarin.Forms;
using eShopOnContainers.Core.ViewModels.Base;
using System.Windows.Input; using System.Windows.Input;
namespace eShopOnContainers.Core.ViewModels namespace eShopOnContainers.Core.ViewModels