Merge branch 'renavigatorumbau' into sewerdamages
# Conflicts: # DaSaSo.Wpf/HostBuilders/AddViewModelsHostBuilderExtensions.cs
This commit is contained in:
@@ -75,7 +75,7 @@ namespace DaSaSo.ViewModel
|
||||
private void SaveBuildingsite()
|
||||
{
|
||||
_buildingsiteService.Update(Model.Id, Model);
|
||||
_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService, _actualProject, _renavigator, null));
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace DaSaSo.ViewModel
|
||||
private void SaveClient()
|
||||
{
|
||||
_dataService.Update(Model.Id, Model);
|
||||
renavigator.Renavigate(new ClientListViewModel(_dataService,_actualProject,renavigator));
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,18 +59,22 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
public bool CanSelectClient => _selectedClient != null;
|
||||
|
||||
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
||||
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator editRenavigator)
|
||||
{
|
||||
Clients = new ObservableCollection<Client>();
|
||||
_dataService = dataService;
|
||||
this.renavigator = renavigator;
|
||||
LoadClient();
|
||||
SelectCommand = new SelectClientCommand(actualProject, this); //= new RelayCommand(SelectClient, () => SelectedClient != null);
|
||||
EditCommand = new EditClientCommand(_dataService,actualProject,renavigator,this);
|
||||
AddNewClientCommand = new AddClientCommand(_dataService, actualProject, renavigator, this);
|
||||
EditCommand = new EditClientCommand(_dataService,actualProject, editRenavigator, this);
|
||||
AddNewClientCommand = new AddClientCommand(_dataService, actualProject, editRenavigator, this);
|
||||
|
||||
}
|
||||
|
||||
~ClientListViewModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async void LoadClient()
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
Buildingsite buildingsite = await _buildingsiteService.CreateBuildingsite(_actualProject.AktuellProjekt);
|
||||
_actualProject.SetBuildingSite(buildingsite);
|
||||
_renavigator.Renavigate(new BuildingsiteEditViewModel(_dataservice, _actualProject, _renavigator));
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
Client newClient = await dataservice.Create(new Client());
|
||||
actualProject.SetClient(newClient,false);
|
||||
//actualProject.SetClient(clientListViewModel.SelectedClient);
|
||||
renavigator.Renavigate(new ClientEditViewModel(dataservice, actualProject, renavigator));
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
Project pro = await _projectService.CreateProject(_actualProject.AktuellClient);
|
||||
_actualProject.SetProject(pro);
|
||||
_renavigator.Renavigate(new ProjectEditViewModel(_genericDataService, _actualProject, _renavigator, _projectService));
|
||||
_renavigator.Renavigate();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetBuildingSite(_buildingsiteListViewModel.SelectedBuildingsite);
|
||||
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetClient(_clientListViewModel.SelectedClient);
|
||||
renavigator.Renavigate(new ClientEditViewModel(dataservice,actualProject,renavigator));
|
||||
renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_actualProject.SetProject(_projectListViewModel.SelectedProject);
|
||||
_renavigator.Renavigate(new ProjectEditViewModel(_dataService, _actualProject, _renavigator,_projectService));
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_navigator.CurrentViewModel = null;
|
||||
_renavigator.Renavigate(new SewerObjectListViewModel(_dataService, _actualProject, _sewerObjectService));
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ namespace DaSaSo.ViewModel.Interface
|
||||
{
|
||||
public interface IRenavigator
|
||||
{
|
||||
void Renavigate(BaseViewModel target);
|
||||
void Renavigate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace DaSaSo.ViewModel
|
||||
private void SaveProject()
|
||||
{
|
||||
_dataservice.Update(_model.Id, _model);
|
||||
_renavigator.Renavigate(new ProjectListViewModel(_dataservice, _actualProject, _renavigator, _projectService));
|
||||
_renavigator.Renavigate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,5 +81,11 @@ namespace DaSaSo.ViewModel
|
||||
_actualProject.SetSewerObject(sewer,false);
|
||||
IsLoading = false;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
_navigator.StateChanged -= () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,19 +7,20 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.State.Navigation
|
||||
{
|
||||
public class ViewModelDelegateRenavigator : IRenavigator
|
||||
public class ViewModelDelegateRenavigator<TViewModel> : IRenavigator where TViewModel: BaseViewModel
|
||||
{
|
||||
private readonly IMainWindowNavigator _navigator;
|
||||
|
||||
private readonly CreateViewModel<TViewModel> _createViewModel;
|
||||
|
||||
public ViewModelDelegateRenavigator(IMainWindowNavigator navigator)
|
||||
public ViewModelDelegateRenavigator(IMainWindowNavigator navigator, CreateViewModel<TViewModel> createViewModel)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_createViewModel = createViewModel;
|
||||
}
|
||||
|
||||
public void Renavigate(BaseViewModel target)
|
||||
public void Renavigate()
|
||||
{
|
||||
_navigator.CurrentViewModel = target;
|
||||
_navigator.CurrentViewModel = _createViewModel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user