Dependencyinjection entfernt bei renavigator
This commit is contained in:
@@ -35,7 +35,7 @@ namespace DaSaSo.ViewModel
|
|||||||
private void SaveClient()
|
private void SaveClient()
|
||||||
{
|
{
|
||||||
_dataService.Update(Model.Id, Model);
|
_dataService.Update(Model.Id, Model);
|
||||||
renavigator.Renavigate();
|
renavigator.Renavigate(new ClientListViewModel(_dataService,_actualProject,renavigator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace DaSaSo.ViewModel
|
|||||||
this.renavigator = renavigator;
|
this.renavigator = renavigator;
|
||||||
LoadClient();
|
LoadClient();
|
||||||
SelectCommand = new SelectClientCommand(actualProject, this); //= new RelayCommand(SelectClient, () => SelectedClient != null);
|
SelectCommand = new SelectClientCommand(actualProject, this); //= new RelayCommand(SelectClient, () => SelectedClient != null);
|
||||||
EditCommand = new EditClientCommand(actualProject,renavigator,this);
|
EditCommand = new EditClientCommand(_dataService,actualProject,renavigator,this);
|
||||||
//EditClientCommand = new RelayCommand(EditClient, () => SelectedClient != null);
|
//EditClientCommand = new RelayCommand(EditClient, () => SelectedClient != null);
|
||||||
//AddNewClientCommand = new RelayCommand(AddNewClient);
|
//AddNewClientCommand = new RelayCommand(AddNewClient);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using DaSaSo.ViewModel.Interface;
|
using DaSaSo.Domain.Model;
|
||||||
|
using DaSaSo.Domain.Services;
|
||||||
|
using DaSaSo.ViewModel.Interface;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -11,6 +13,7 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
{
|
{
|
||||||
public class EditClientCommand : ICommand
|
public class EditClientCommand : ICommand
|
||||||
{
|
{
|
||||||
|
private readonly IDataService<Client> dataservice;
|
||||||
private readonly IActualProject actualProject;
|
private readonly IActualProject actualProject;
|
||||||
private readonly IRenavigator renavigator;
|
private readonly IRenavigator renavigator;
|
||||||
private readonly ClientListViewModel clientListViewModel;
|
private readonly ClientListViewModel clientListViewModel;
|
||||||
@@ -19,8 +22,9 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public EditClientCommand(IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
||||||
{
|
{
|
||||||
|
this.dataservice = dataservice;
|
||||||
this.actualProject = actualProject;
|
this.actualProject = actualProject;
|
||||||
this.renavigator = renavigator;
|
this.renavigator = renavigator;
|
||||||
this.clientListViewModel = clientListViewModel;
|
this.clientListViewModel = clientListViewModel;
|
||||||
@@ -34,7 +38,7 @@ namespace DaSaSo.ViewModel.Commands
|
|||||||
public void Execute(object? parameter)
|
public void Execute(object? parameter)
|
||||||
{
|
{
|
||||||
actualProject.SetClient(clientListViewModel.SelectedClient);
|
actualProject.SetClient(clientListViewModel.SelectedClient);
|
||||||
renavigator.Renavigate();
|
renavigator.Renavigate(new ClientEditViewModel(dataservice,actualProject,renavigator));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,6 @@ namespace DaSaSo.ViewModel.Interface
|
|||||||
{
|
{
|
||||||
public interface IRenavigator
|
public interface IRenavigator
|
||||||
{
|
{
|
||||||
void Renavigate();
|
void Renavigate(BaseViewModel target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,20 +7,19 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace DaSaSo.ViewModel.State.Navigation
|
namespace DaSaSo.ViewModel.State.Navigation
|
||||||
{
|
{
|
||||||
public class ViewModelDelegateRenavigator<TViewModel> : IRenavigator where TViewModel : BaseViewModel
|
public class ViewModelDelegateRenavigator : IRenavigator
|
||||||
{
|
{
|
||||||
private readonly INavigator _navigator;
|
private readonly INavigator _navigator;
|
||||||
private readonly CreateViewModel<TViewModel> _createViewModel;
|
|
||||||
|
|
||||||
public ViewModelDelegateRenavigator(INavigator navigator, CreateViewModel<TViewModel> createViewModel)
|
|
||||||
|
public ViewModelDelegateRenavigator(INavigator navigator)
|
||||||
{
|
{
|
||||||
_navigator = navigator;
|
_navigator = navigator;
|
||||||
_createViewModel = createViewModel;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Renavigate()
|
public void Renavigate(BaseViewModel target)
|
||||||
{
|
{
|
||||||
_navigator.CurrentViewModel = _createViewModel();
|
_navigator.CurrentViewModel = target;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,9 +64,8 @@ namespace DaSaSo.Wpf
|
|||||||
return () => new ClientEditViewModel(
|
return () => new ClientEditViewModel(
|
||||||
services.GetRequiredService<IDataService<Client>>(),
|
services.GetRequiredService<IDataService<Client>>(),
|
||||||
services.GetRequiredService<IActualProject>(),
|
services.GetRequiredService<IActualProject>(),
|
||||||
new ViewModelDelegateRenavigator<HomeViewModel>(
|
new ViewModelDelegateRenavigator(
|
||||||
services.GetRequiredService<INavigator>(),
|
services.GetRequiredService<INavigator>()
|
||||||
services.GetRequiredService<CreateViewModel<HomeViewModel>>()
|
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
services.AddSingleton<CreateViewModel<HomeViewModel>>(services =>
|
||||||
@@ -78,9 +77,8 @@ namespace DaSaSo.Wpf
|
|||||||
return () => new ClientListViewModel(
|
return () => new ClientListViewModel(
|
||||||
services.GetRequiredService<IDataService<Client>>(),
|
services.GetRequiredService<IDataService<Client>>(),
|
||||||
services.GetRequiredService<IActualProject>(),
|
services.GetRequiredService<IActualProject>(),
|
||||||
new ViewModelDelegateRenavigator<ClientEditViewModel>(
|
new ViewModelDelegateRenavigator(
|
||||||
services.GetRequiredService<INavigator>(),
|
services.GetRequiredService<INavigator>()
|
||||||
services.GetRequiredService<CreateViewModel<ClientEditViewModel>>()
|
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user