Browse Source

Removed unused code from NavigationService.

pull/125/head
David Britch 7 years ago
parent
commit
4a073b96d8
3 changed files with 11 additions and 50 deletions
  1. +0
    -7
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/INavigationService.cs
  2. +11
    -42
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/NavigationService.cs
  3. +0
    -1
      src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/MainViewModel.cs

+ 0
- 7
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/INavigationService.cs 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();


+ 11
- 42
src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Navigation/NavigationService.cs 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)
{
return InternalNavigateToAsync(viewModelType, null);
}
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()
public Task RemoveLastFromBackStackAsync()
{ {
var mainPage = CurrentApplication.MainPage as CustomNavigationView;
var mainPage = Application.Current.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)


+ 0
- 1
src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/MainViewModel.cs 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


Loading…
Cancel
Save