using DaSaSo.Domain.Enums; using DaSaSo.ViewModel.Enums; using DaSaSo.ViewModel.Interface; using System; using System.Threading.Tasks; using System.Windows.Input; namespace DaSaSo.ViewModel.Commands { class UpdateCurrentViewModelCommand : AsyncCommandBase { private INavigator _navigator; private readonly IViewModelAbstractFactory _viewModelFactory; public UpdateCurrentViewModelCommand(INavigator navigator, IViewModelAbstractFactory viewModelFactory) { _navigator = navigator; _viewModelFactory = viewModelFactory; } public override async Task ExecuteAsync(object? parameter) { if(parameter is EMainWindowViewType) { EMainWindowViewType viewType = (EMainWindowViewType)parameter; _navigator.CurrentViewModel = _viewModelFactory.CreateViewModel(viewType); } } } }