From b213cefa9937bd8d1ff7540f6c68f82223044570 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Tue, 14 Sep 2021 22:13:47 +0200 Subject: [PATCH] Renavigator erweitert --- DaSaSo.ViewModel/ClientEditViewModel.cs | 6 ++++-- .../Factories/ClientEditViewModelFactory.cs | 6 ++++-- DaSaSo.Wpf/App.xaml.cs | 21 ++++++++++++++++--- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/DaSaSo.ViewModel/ClientEditViewModel.cs b/DaSaSo.ViewModel/ClientEditViewModel.cs index ba2f06a..fc88421 100644 --- a/DaSaSo.ViewModel/ClientEditViewModel.cs +++ b/DaSaSo.ViewModel/ClientEditViewModel.cs @@ -16,24 +16,26 @@ namespace DaSaSo.ViewModel private Client _model; private IDataService _dataService; private readonly IActualProject _actualProject; + private readonly IRenavigator renavigator; public Client Model { get => _model; set => _model = value; } public IRelayCommand SaveClientCommand { get; set; } - public ClientEditViewModel(IDataService dataService, IActualProject actualProject) + public ClientEditViewModel(IDataService dataService, IActualProject actualProject, IRenavigator renavigator) { this._dataService = dataService; SaveClientCommand = new RelayCommand(SaveClient); _actualProject = actualProject; + this.renavigator = renavigator; this._model = _actualProject.AktuellClient; } private void SaveClient() { _dataService.Update(Model.Id, Model); - Mediator.Notify(Enums.EMediator.SHOWCLIENT); + renavigator.Renavigate(); } } } diff --git a/DaSaSo.ViewModel/Factories/ClientEditViewModelFactory.cs b/DaSaSo.ViewModel/Factories/ClientEditViewModelFactory.cs index f429aba..6d06a7a 100644 --- a/DaSaSo.ViewModel/Factories/ClientEditViewModelFactory.cs +++ b/DaSaSo.ViewModel/Factories/ClientEditViewModelFactory.cs @@ -13,15 +13,17 @@ namespace DaSaSo.ViewModel.Factories public class ClientEditViewModelFactory : IViewModelFactory { private readonly IActualProject _actualProject; + private readonly IRenavigator renavigator; - public ClientEditViewModelFactory(IActualProject actualProject) + public ClientEditViewModelFactory(IActualProject actualProject, IRenavigator renavigator) { _actualProject = actualProject; + this.renavigator = renavigator; } public ClientEditViewModel CreateViewModel() { - return new ClientEditViewModel(new GenericDataService(new DaSaSoDbContextFactory()), _actualProject); + return new ClientEditViewModel(new GenericDataService(new DaSaSoDbContextFactory()), _actualProject,renavigator); } } } diff --git a/DaSaSo.Wpf/App.xaml.cs b/DaSaSo.Wpf/App.xaml.cs index 5732276..e60c448 100644 --- a/DaSaSo.Wpf/App.xaml.cs +++ b/DaSaSo.Wpf/App.xaml.cs @@ -37,9 +37,24 @@ namespace DaSaSo.Wpf services.AddSingleton(); services.AddSingleton, HomeViewModelFactory>(); - services.AddSingleton>(); - services.AddSingleton, ClientListViewModelFactory>(); - services.AddSingleton, ClientEditViewModelFactory>(); + //services.AddSingleton>(); + services.AddSingleton, ClientListViewModelFactory>((services) => + new ClientListViewModelFactory( + services.GetRequiredService(), + new ViewModelFactoryRenavigator( + services.GetRequiredService(), + services.GetRequiredService>() + ) + )); + services.AddSingleton, ClientEditViewModelFactory>((services) => + new ClientEditViewModelFactory( + services.GetRequiredService(), + new ViewModelFactoryRenavigator( + services.GetRequiredService(), + services.GetRequiredService>() + ) + + )); //services.AddSingleton(); services.AddScoped();