Renavigator erweitert
This commit is contained in:
@@ -16,24 +16,26 @@ namespace DaSaSo.ViewModel
|
|||||||
private Client _model;
|
private Client _model;
|
||||||
private IDataService<Client> _dataService;
|
private IDataService<Client> _dataService;
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
|
private readonly IRenavigator renavigator;
|
||||||
|
|
||||||
public Client Model { get => _model; set => _model = value; }
|
public Client Model { get => _model; set => _model = value; }
|
||||||
|
|
||||||
public IRelayCommand SaveClientCommand { get; set; }
|
public IRelayCommand SaveClientCommand { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public ClientEditViewModel(IDataService<Client> dataService, IActualProject actualProject)
|
public ClientEditViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
||||||
{
|
{
|
||||||
this._dataService = dataService;
|
this._dataService = dataService;
|
||||||
SaveClientCommand = new RelayCommand(SaveClient);
|
SaveClientCommand = new RelayCommand(SaveClient);
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
|
this.renavigator = renavigator;
|
||||||
this._model = _actualProject.AktuellClient;
|
this._model = _actualProject.AktuellClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveClient()
|
private void SaveClient()
|
||||||
{
|
{
|
||||||
_dataService.Update(Model.Id, Model);
|
_dataService.Update(Model.Id, Model);
|
||||||
Mediator.Notify(Enums.EMediator.SHOWCLIENT);
|
renavigator.Renavigate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,15 +13,17 @@ namespace DaSaSo.ViewModel.Factories
|
|||||||
public class ClientEditViewModelFactory : IViewModelFactory<ClientEditViewModel>
|
public class ClientEditViewModelFactory : IViewModelFactory<ClientEditViewModel>
|
||||||
{
|
{
|
||||||
private readonly IActualProject _actualProject;
|
private readonly IActualProject _actualProject;
|
||||||
|
private readonly IRenavigator renavigator;
|
||||||
|
|
||||||
public ClientEditViewModelFactory(IActualProject actualProject)
|
public ClientEditViewModelFactory(IActualProject actualProject, IRenavigator renavigator)
|
||||||
{
|
{
|
||||||
_actualProject = actualProject;
|
_actualProject = actualProject;
|
||||||
|
this.renavigator = renavigator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClientEditViewModel CreateViewModel()
|
public ClientEditViewModel CreateViewModel()
|
||||||
{
|
{
|
||||||
return new ClientEditViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()), _actualProject);
|
return new ClientEditViewModel(new GenericDataService<Client>(new DaSaSoDbContextFactory()), _actualProject,renavigator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,9 +37,24 @@ namespace DaSaSo.Wpf
|
|||||||
|
|
||||||
services.AddSingleton<IViewModelAbstractFactory, ViewModelAbstractFactory>();
|
services.AddSingleton<IViewModelAbstractFactory, ViewModelAbstractFactory>();
|
||||||
services.AddSingleton<IViewModelFactory<HomeViewModel>, HomeViewModelFactory>();
|
services.AddSingleton<IViewModelFactory<HomeViewModel>, HomeViewModelFactory>();
|
||||||
services.AddSingleton<IRenavigator, ViewModelFactoryRenavigator<ClientEditViewModel>>();
|
//services.AddSingleton<IRenavigator, ViewModelFactoryRenavigator<ClientEditViewModel>>();
|
||||||
services.AddSingleton<IViewModelFactory<ClientListViewModel>, ClientListViewModelFactory>();
|
services.AddSingleton<IViewModelFactory<ClientListViewModel>, ClientListViewModelFactory>((services) =>
|
||||||
services.AddSingleton<IViewModelFactory<ClientEditViewModel>, ClientEditViewModelFactory>();
|
new ClientListViewModelFactory(
|
||||||
|
services.GetRequiredService<IActualProject>(),
|
||||||
|
new ViewModelFactoryRenavigator<ClientEditViewModel>(
|
||||||
|
services.GetRequiredService<INavigator>(),
|
||||||
|
services.GetRequiredService<IViewModelFactory<ClientEditViewModel>>()
|
||||||
|
)
|
||||||
|
));
|
||||||
|
services.AddSingleton<IViewModelFactory<ClientEditViewModel>, ClientEditViewModelFactory>((services) =>
|
||||||
|
new ClientEditViewModelFactory(
|
||||||
|
services.GetRequiredService<IActualProject>(),
|
||||||
|
new ViewModelFactoryRenavigator<HomeViewModel>(
|
||||||
|
services.GetRequiredService<INavigator>(),
|
||||||
|
services.GetRequiredService<IViewModelFactory<HomeViewModel>>()
|
||||||
|
)
|
||||||
|
|
||||||
|
));
|
||||||
|
|
||||||
//services.AddSingleton<INavigator, Navigator>();
|
//services.AddSingleton<INavigator, Navigator>();
|
||||||
services.AddScoped<IActualProject, ActualProject>();
|
services.AddScoped<IActualProject, ActualProject>();
|
||||||
|
|||||||
Reference in New Issue
Block a user