SinglePage erweitert
This commit is contained in:
@@ -27,8 +27,9 @@ namespace DaSaSo.ViewModel
|
||||
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
||||
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
||||
|
||||
public INavigator Navigator { get; set; }
|
||||
public INavigator _navigator { get; set; }
|
||||
public ICommand UpdateCurrentViewModelCommand { get; }
|
||||
public BaseViewModel CurrentViewModel => _navigator.CurrentViewModel;
|
||||
|
||||
public string ClientName
|
||||
{
|
||||
@@ -70,32 +71,43 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
public MainWindowViewModel(INavigator navigator,IViewModelAbstractFactory viewModelFactory, IActualProject actualProject)
|
||||
{
|
||||
this.Navigator = navigator;
|
||||
this._navigator = navigator;
|
||||
this.viewModelFactory = viewModelFactory;
|
||||
|
||||
_navigator.StateChanged += _navigator_StateChanged;
|
||||
|
||||
UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
|
||||
UpdateCurrentViewModelCommand.Execute(EViewType.Home);
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Home);
|
||||
_actualProject = actualProject;
|
||||
_actualProject.ClientChanged += _actualProject_ClientChanged;
|
||||
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
||||
}
|
||||
|
||||
private void _navigator_StateChanged()
|
||||
{
|
||||
OnPropertyChanged(nameof(CurrentViewModel));
|
||||
}
|
||||
|
||||
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
|
||||
OnPropertyChanged(nameof(CanSelectSewerObjects));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
|
||||
}
|
||||
|
||||
private void _actualProject_ProjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Projektname = _actualProject.AktuellProjekt.Name;
|
||||
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
||||
}
|
||||
|
||||
private void _actualProject_ClientChanged(object? sender, EventArgs e)
|
||||
{
|
||||
ClientName = _actualProject.AktuellClient.Firstname;
|
||||
OnPropertyChanged(nameof(CanSelectProject));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user