impliment NavigateService

This commit is contained in:
Natlinux
2022-11-26 20:40:45 +01:00
parent 873d130aaa
commit 439850b5b7
7 changed files with 56 additions and 18 deletions

View File

@@ -1,4 +1,5 @@
using Apollon.Domain.Models;
using Apollon.WPF.Services;
using Apollon.WPF.Stores;
using Apollon.WPF.ViewModels;
using System;
@@ -12,19 +13,23 @@ namespace Apollon.WPF.Commands
public class AddTournamentCommand : AsyncCommandBase
{
private readonly TournamentsStore _tournamentStore;
private readonly NavigationStore _navigationStore;
private readonly NavigationService<PreparationViewModel> _navigationService;
private readonly ModalNavigationStore _modalNavigationStore;
private readonly SelectedTournamentsStore _selectedTournamentsStore;
private AddTournamentViewModel _addTournamentViewModel;
public AddTournamentCommand(AddTournamentViewModel addTournamentViewModel, TournamentsStore tournamentStore, ModalNavigationStore modalNavigationStore, NavigationStore navigationStore, SelectedTournamentsStore selectedTournamentsStore)
public AddTournamentCommand(AddTournamentViewModel addTournamentViewModel, NavigationService<PreparationViewModel> navigationService)
{
}
public AddTournamentCommand(TournamentsStore tournamentStore, NavigationService<PreparationViewModel> navigationService, ModalNavigationStore modalNavigationStore,
SelectedTournamentsStore selectedTournamentsStore, AddTournamentViewModel addTournamentViewModel)
{
_addTournamentViewModel = addTournamentViewModel;
_tournamentStore = tournamentStore;
_navigationService = navigationService;
_modalNavigationStore = modalNavigationStore;
_navigationStore = navigationStore;
_selectedTournamentsStore = selectedTournamentsStore;
_addTournamentViewModel = addTournamentViewModel;
}
public override async Task ExecuteAsync(object parameter)
@@ -52,7 +57,7 @@ namespace Apollon.WPF.Commands
await _tournamentStore.Add(tournament);
_modalNavigationStore.Close();
_navigationStore.CurrentViewModel = new PreparationViewModel(_selectedTournamentsStore, _navigationStore, _modalNavigationStore, _tournamentStore);
_navigationService.Navigate();
}
catch (Exception)

View File

@@ -1,4 +1,5 @@
using Apollon.WPF.Stores;
using Apollon.WPF.Services;
using Apollon.WPF.Stores;
using Apollon.WPF.ViewModels;
using System;
using System.Collections.Generic;
@@ -11,18 +12,16 @@ namespace Apollon.WPF.Commands
public class NavigateCommand<TViewModel> : CommandBase
where TViewModel : ViewModelBase
{
private readonly NavigationStore _navigationStore;
private readonly Func<TViewModel> _createViewModel;
private readonly NavigationService<TViewModel> _navigationService;
public NavigateCommand(NavigationStore navigationStore, Func<TViewModel> createViewModel)
public NavigateCommand(NavigationService<TViewModel> navigationService)
{
_navigationStore = navigationStore;
_createViewModel = createViewModel;
_navigationService = navigationService;
}
public override void Execute(object parameter)
{
_navigationStore.CurrentViewModel = _createViewModel();
{
_navigationService.Navigate();
}
}
}