Leitungen können nun bearbeitet werden
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))
|
||||
_renavigator.Renavigate(new BuildingsiteListViewModel(_buildingsiteService, _actualProject, _renavigator, null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
_selectedBuildingsite = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectBuildingsite));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,6 +41,7 @@ namespace DaSaSo.ViewModel
|
||||
public ICommand SelectCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public bool CanSelectBuildingsite => SelectedBuildingsite != null;
|
||||
|
||||
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator,IBuildingsiteService buildingsiteService)
|
||||
{
|
||||
@@ -49,7 +51,7 @@ namespace DaSaSo.ViewModel
|
||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||
EditCommand = new EditBuildingsiteCommand(buildingSiteDataService,actualProject,renavigator,buildingsiteService,this);
|
||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||
AddCommand = new AddBuildingsiteCommand(actualProject, buildingsiteService);
|
||||
AddCommand = new AddBuildingsiteCommand(buildingSiteDataService, actualProject, buildingsiteService,renavigator);
|
||||
LoadBuildingsites();
|
||||
}
|
||||
|
||||
|
||||
@@ -36,9 +36,10 @@ namespace DaSaSo.ViewModel
|
||||
if(_selectedClient != value)
|
||||
{
|
||||
_selectedClient = value;
|
||||
//SelectClientCommand.NotifyCanExecuteChanged();
|
||||
//EditClientCommand.NotifyCanExecuteChanged();
|
||||
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectClient));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,6 +57,8 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
|
||||
public bool CanSelectClient => _selectedClient != null;
|
||||
|
||||
public ClientListViewModel(IDataService<Client> dataService, IActualProject actualProject, IRenavigator renavigator)
|
||||
{
|
||||
Clients = new ObservableCollection<Client>();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
@@ -11,18 +12,23 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class AddBuildingsiteCommand: AsyncCommandBase
|
||||
{
|
||||
private IActualProject actualProject;
|
||||
private IBuildingsiteService buildingsiteService;
|
||||
|
||||
public AddBuildingsiteCommand(IActualProject actualProject, IBuildingsiteService buildingsiteService)
|
||||
private IActualProject _actualProject;
|
||||
private IBuildingsiteService _buildingsiteService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly IDataService<Buildingsite> _dataservice;
|
||||
public AddBuildingsiteCommand(IDataService<Buildingsite> dataService, IActualProject actualProject, IBuildingsiteService buildingsiteService, IRenavigator renavigator)
|
||||
{
|
||||
this.actualProject = actualProject;
|
||||
this.buildingsiteService = buildingsiteService;
|
||||
_actualProject = actualProject;
|
||||
_buildingsiteService = buildingsiteService;
|
||||
_dataservice = dataService;
|
||||
_renavigator = renavigator;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Buildingsite buildingsite = await buildingsiteService.CreateBuildingsite(actualProject.AktuellProjekt);
|
||||
Buildingsite buildingsite = await _buildingsiteService.CreateBuildingsite(_actualProject.AktuellProjekt);
|
||||
_actualProject.SetBuildingSite(buildingsite);
|
||||
_renavigator.Renavigate(new BuildingsiteEditViewModel(_dataservice, _actualProject, _renavigator));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,18 +12,26 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class AddProjectCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualProject actualProject;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IProjectService _projectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly IDataService<Project> _genericDataService;
|
||||
|
||||
|
||||
public AddProjectCommand(IActualProject actualProject, IProjectService projectService)
|
||||
public AddProjectCommand(IDataService<Project> genericDataService, IActualProject actualProject, IProjectService projectService, IRenavigator renavigator)
|
||||
{
|
||||
this.actualProject = actualProject;
|
||||
_actualProject = actualProject;
|
||||
_projectService = projectService;
|
||||
_renavigator = renavigator;
|
||||
_genericDataService = genericDataService;
|
||||
}
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
Project pro = await _projectService.CreateProject(actualProject.AktuellClient);
|
||||
Project pro = await _projectService.CreateProject(_actualProject.AktuellClient);
|
||||
_actualProject.SetProject(pro);
|
||||
_renavigator.Renavigate(new ProjectEditViewModel(_genericDataService, _actualProject, _renavigator, _projectService));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace DaSaSo.ViewModel.Commands
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
SewerObject sewerobject = await _sewerObjectService.CreateSewerObject(_actualProject.AktuellBaustelle);
|
||||
_actualProject.SetSewerObject(sewerobject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,9 +21,14 @@ namespace DaSaSo.ViewModel.Commands
|
||||
CanExecuteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnCanExecuteChanged()
|
||||
{
|
||||
CanExecuteChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
|
||||
|
||||
public bool CanExecute(object? parameter)
|
||||
public virtual bool CanExecute(object? parameter)
|
||||
{
|
||||
return !IsExecuting;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using DaSaSo.Domain.Services.BuildingsiteServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -16,7 +17,11 @@ namespace DaSaSo.ViewModel.Commands
|
||||
private IActualProject actualProject;
|
||||
private IRenavigator renavigator;
|
||||
private IBuildingsiteService buildingsiteService;
|
||||
private BuildingsiteListViewModel buildingsiteListViewModel;
|
||||
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||
}
|
||||
|
||||
public EditBuildingsiteCommand(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator, IBuildingsiteService buildingsiteService, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||
{
|
||||
@@ -24,12 +29,19 @@ namespace DaSaSo.ViewModel.Commands
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this.buildingsiteService = buildingsiteService;
|
||||
this.buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
_buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
_buildingsiteListViewModel.PropertyChanged += BuildingsiteListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void BuildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetBuildingSite(buildingsiteListViewModel.SelectedBuildingsite);
|
||||
actualProject.SetBuildingSite(_buildingsiteListViewModel.SelectedBuildingsite);
|
||||
renavigator.Renavigate(new BuildingsiteEditViewModel(buildingSiteDataService, actualProject, renavigator));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using DaSaSo.Domain.Services;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -16,22 +17,34 @@ namespace DaSaSo.ViewModel.Commands
|
||||
private readonly IDataService<Client> dataservice;
|
||||
private readonly IActualProject actualProject;
|
||||
private readonly IRenavigator renavigator;
|
||||
private readonly ClientListViewModel clientListViewModel;
|
||||
private readonly ClientListViewModel _clientListViewModel;
|
||||
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _clientListViewModel.CanSelectClient;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public EditClientCommand(IDataService<Client> dataservice, IActualProject actualProject,IRenavigator renavigator, ClientListViewModel clientListViewModel)
|
||||
{
|
||||
this.dataservice = dataservice;
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
this.clientListViewModel = clientListViewModel;
|
||||
this._clientListViewModel = clientListViewModel;
|
||||
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||
|
||||
}
|
||||
|
||||
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||
{
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
actualProject.SetClient(clientListViewModel.SelectedClient);
|
||||
actualProject.SetClient(_clientListViewModel.SelectedClient);
|
||||
renavigator.Renavigate(new ClientEditViewModel(dataservice,actualProject,renavigator));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using DaSaSo.Domain.Services.ProjectServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -17,6 +18,10 @@ namespace DaSaSo.ViewModel.Commands
|
||||
private IRenavigator _renavigator;
|
||||
private readonly IProjectService _projectService;
|
||||
private ProjectListViewModel _projectListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _projectListViewModel.SelectedProject != null;
|
||||
}
|
||||
|
||||
public EditProjectCommand(IDataService<Project> dataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService, ProjectListViewModel projectListViewModel)
|
||||
{
|
||||
@@ -25,7 +30,13 @@ namespace DaSaSo.ViewModel.Commands
|
||||
this._renavigator = renavigator;
|
||||
this._projectService = projectService;
|
||||
this._projectListViewModel = projectListViewModel;
|
||||
|
||||
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
|
||||
54
DaSaSo.ViewModel/Commands/SaveSewerCommand.cs
Normal file
54
DaSaSo.ViewModel/Commands/SaveSewerCommand.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class SaveSewerCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly SewerMainListViewModel _sewerMainListViewModel;
|
||||
private IDataService<SewerObject> _dataService;
|
||||
private readonly ISewerpointService _sewerPointService;
|
||||
private IActualProject _actualProject;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly ISewerMainNavigator _navigator;
|
||||
|
||||
public SaveSewerCommand(SewerMainListViewModel sewerMainListViewModel,
|
||||
IDataService<SewerObject> dataService,
|
||||
IActualProject actualProject,
|
||||
ISewerObjectService sewerObjectService,
|
||||
IRenavigator renavigator,
|
||||
ISewerpointService sewerpointService,
|
||||
ISewerMainNavigator navigator)
|
||||
{
|
||||
_sewerMainListViewModel = sewerMainListViewModel;
|
||||
_dataService = dataService;
|
||||
_sewerPointService = sewerpointService;
|
||||
_actualProject = actualProject;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
_renavigator = renavigator;
|
||||
_navigator = navigator;
|
||||
}
|
||||
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
_navigator.CurrentViewModel = null;
|
||||
var s = _navigator;
|
||||
//Debugger.Break();
|
||||
//var d = await _sewerPointService.CreateOrFindSewerpoint("123");
|
||||
//_actualProject.AktuellSewerObject.PunktOben = d;
|
||||
_ = await _dataService.Update(_actualProject.AktuellSewerObject.Id, _actualProject.AktuellSewerObject);
|
||||
_renavigator.Renavigate(new SewerObjectListViewModel(_dataService, _actualProject, _sewerObjectService));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -11,11 +12,22 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
private IActualProject _actualProject;
|
||||
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _buildingsiteListViewModel.CanSelectBuildingsite;
|
||||
}
|
||||
|
||||
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||
{
|
||||
this._actualProject = actualProject;
|
||||
this._buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
_buildingsiteListViewModel.PropertyChanged += _buildingsiteListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _buildingsiteListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_buildingsiteListViewModel.CanSelectBuildingsite))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -13,10 +14,24 @@ namespace DaSaSo.ViewModel.Commands
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ClientListViewModel _clientListViewModel;
|
||||
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _clientListViewModel.CanSelectClient;
|
||||
}
|
||||
public SelectClientCommand(IActualProject actualProject, ClientListViewModel clientListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_clientListViewModel = clientListViewModel;
|
||||
_clientListViewModel.PropertyChanged += _clientListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _clientListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if(e.PropertyName == nameof(_clientListViewModel.CanSelectClient))
|
||||
{
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -11,11 +12,22 @@ namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ProjectListViewModel _projectListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _projectListViewModel.SelectedProject != null;
|
||||
}
|
||||
|
||||
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_projectListViewModel = projectListViewModel;
|
||||
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
|
||||
@@ -5,6 +5,16 @@
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="version.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="version.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.0" />
|
||||
</ItemGroup>
|
||||
@@ -15,4 +25,8 @@
|
||||
<ProjectReference Include="..\DaSaSo.InMemoryProvider\DaSaSo.InMemoryProvider.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
|
||||
<Exec Command="git rev-parse HEAD > $(ProjectDir)\version.txt
" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace DaSaSo.ViewModel.Interface
|
||||
void SetClient(Client client);
|
||||
void SetProject(Project project, bool notification = true);
|
||||
void SetBuildingSite(Buildingsite buildingsite);
|
||||
void SetSewerObject(SewerObject sewerObject);
|
||||
void SetSewerObject(SewerObject sewerObject, bool notification = true);
|
||||
void ResetProject();
|
||||
void ResetBuildingSite();
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
_selectedProject = value;
|
||||
OnPropertyChanged();
|
||||
OnPropertyChanged(nameof(CanSelectProject));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,6 +41,7 @@ namespace DaSaSo.ViewModel
|
||||
public ICommand SelectCommand { get; set; }
|
||||
public ICommand AddCommand { get; set; }
|
||||
public ICommand EditCommand { get; set; }
|
||||
public bool CanSelectProject => SelectedProject != null;
|
||||
public ProjectListViewModel(IDataService<Project> genericDataService, IActualProject actualProject, IRenavigator renavigator, IProjectService projectService)
|
||||
{
|
||||
Projekte = new ObservableCollection<Project>();
|
||||
@@ -49,7 +51,7 @@ namespace DaSaSo.ViewModel
|
||||
this.actualProject = actualProject;
|
||||
this.renavigator = renavigator;
|
||||
SelectCommand = new SelectProjectCommand(actualProject, this);
|
||||
AddCommand = new AddProjectCommand(actualProject, projectService);
|
||||
AddCommand = new AddProjectCommand(genericDataService,actualProject, projectService,renavigator);
|
||||
EditCommand = new EditProjectCommand(genericDataService, actualProject, renavigator,projectService, this);
|
||||
LoadProjecte();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Services.SewerObjectService;
|
||||
using DaSaSo.Domain.Services.SewerPointServices;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
@@ -13,16 +18,49 @@ namespace DaSaSo.ViewModel
|
||||
public class SewerMainListViewModel : BaseViewModel
|
||||
{
|
||||
private ISewerMainNavigator _navigator { get; set; }
|
||||
private readonly SewerObjectDataService _dataservice;
|
||||
private readonly ISewerObjectService _sewerObjectService;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private IActualProject _actualProject { get; set; }
|
||||
public ICommand UpdateCurrentSewerViewModelCommand { get; }
|
||||
public ICommand SaveCommand { get; set; }
|
||||
public BaseViewModel CurrentSewerViewModel => _navigator.CurrentViewModel;
|
||||
|
||||
public SewerMainListViewModel(ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory)
|
||||
public bool IsLoading
|
||||
{
|
||||
get => _isLoading;
|
||||
set
|
||||
{
|
||||
if (_isLoading != value)
|
||||
{
|
||||
_isLoading = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool _isLoading = true;
|
||||
public bool CanSaveSewer => !string.IsNullOrEmpty(_actualProject.AktuellSewerObject.StreetName);
|
||||
|
||||
public SewerMainListViewModel(IDataService<SewerObject> dataService, ISewerMainNavigator navigator,IActualProject actualProject, IViewModelSewerMainFactory viewModelFactory, IRenavigator renavigator, ISewerObjectService sewerObjectService, ISewerpointService sewerpointService)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_actualProject = actualProject;
|
||||
_dataservice = (SewerObjectDataService)dataService;
|
||||
_renavigator = renavigator;
|
||||
_sewerObjectService = sewerObjectService;
|
||||
SaveCommand = new SaveSewerCommand(this,dataService,actualProject,sewerObjectService,renavigator,sewerpointService,navigator); //RelayCommand(SaveSewer);
|
||||
LoadModel();
|
||||
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
|
||||
_navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
|
||||
}
|
||||
|
||||
private async void LoadModel()
|
||||
{
|
||||
IsLoading = true;
|
||||
SewerObject sewer = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
|
||||
_actualProject.SetSewerObject(sewer,false);
|
||||
IsLoading = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ namespace DaSaSo.ViewModel
|
||||
public class SewerStammdatenViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly SewerObjectDataService _dataservice;
|
||||
private SewerObject _model;
|
||||
|
||||
public string Haltungsname
|
||||
@@ -36,9 +35,9 @@ namespace DaSaSo.ViewModel
|
||||
get => Model.DN;
|
||||
set
|
||||
{
|
||||
if(Model.SewerLength != value)
|
||||
if(Model.DN != value)
|
||||
{
|
||||
Model.SewerLength = value;
|
||||
Model.DN = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
@@ -55,7 +54,7 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
public decimal Leitungslenght {
|
||||
public decimal Leitungslength {
|
||||
get => Model.SewerLength;
|
||||
set
|
||||
{
|
||||
@@ -105,24 +104,24 @@ namespace DaSaSo.ViewModel
|
||||
OnPropertyChanged(nameof(Unterepunkt));
|
||||
OnPropertyChanged(nameof(Durchmesser));
|
||||
OnPropertyChanged(nameof(Material));
|
||||
OnPropertyChanged(nameof(Leitungslenght));
|
||||
OnPropertyChanged(nameof(Leitungslength));
|
||||
OnPropertyChanged(nameof(Strasse));
|
||||
OnPropertyChanged(nameof(Ort));
|
||||
}
|
||||
}
|
||||
|
||||
public SewerStammdatenViewModel(IDataService<SewerObject> dataService,IActualProject actualProject)
|
||||
public SewerStammdatenViewModel(IActualProject actualProject)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_dataservice = (SewerObjectDataService)dataService;
|
||||
Model = new SewerObject();
|
||||
|
||||
Model = _actualProject.AktuellSewerObject;
|
||||
|
||||
LoadModel();
|
||||
|
||||
}
|
||||
|
||||
private async void LoadModel()
|
||||
~SewerStammdatenViewModel()
|
||||
{
|
||||
Model = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,10 +58,11 @@ namespace DaSaSo.ViewModel.State.ActualState
|
||||
OnBuildingSiteChanged();
|
||||
}
|
||||
|
||||
public void SetSewerObject(SewerObject sewerObject)
|
||||
public void SetSewerObject(SewerObject sewerObject,bool notification = true)
|
||||
{
|
||||
AktuellSewerObject = sewerObject;
|
||||
OnSewerObjectChanged();
|
||||
if(notification)
|
||||
OnSewerObjectChanged();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using DaSaSo.Domain.Enums;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.EntityFramework;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
@@ -7,10 +8,12 @@ using DaSaSo.ViewModel.Enums;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using DaSaSo.ViewModel.State.Navigation;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
@@ -21,9 +24,15 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
private readonly IViewModelAbstractFactory viewModelFactory;
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IDataService<Client> _clientDataService;
|
||||
private readonly IDataService<Project> _projectDataService;
|
||||
private readonly IDataService<Buildingsite> _buildingsiteDataService;
|
||||
|
||||
private string _clientname = "";
|
||||
private string _projektname = "";
|
||||
private string _buildingsitename = "";
|
||||
RegistryKey registry;
|
||||
const string REGISTRYKEY = "HKEY_CURRENT_USER\\Software\\Cosysda\\DaSaSo";
|
||||
public bool CanSelectProject { get => _actualProject.AktuellClient != null; }
|
||||
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
|
||||
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
|
||||
@@ -69,11 +78,32 @@ namespace DaSaSo.ViewModel
|
||||
}
|
||||
}
|
||||
}
|
||||
public string ApplicationTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
string gitVersion;
|
||||
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DaSaSo.ViewModel.version.txt"))
|
||||
using (StreamReader reader = new StreamReader(stream))
|
||||
{
|
||||
gitVersion = reader.ReadToEnd();
|
||||
}
|
||||
return string.Format("Cosysda Sanierung Software : {0}",gitVersion);
|
||||
}
|
||||
}
|
||||
|
||||
public MainWindowViewModel(IMainWindowNavigator navigator,IViewModelAbstractFactory viewModelFactory, IActualProject actualProject)
|
||||
public MainWindowViewModel(IMainWindowNavigator navigator,IViewModelAbstractFactory viewModelFactory,
|
||||
IActualProject actualProject,
|
||||
IDataService<Client> clientDataService,
|
||||
IDataService<Project> projectDataService,
|
||||
IDataService<Buildingsite> buildingsiteDataService
|
||||
)
|
||||
{
|
||||
this._navigator = navigator;
|
||||
this.viewModelFactory = viewModelFactory;
|
||||
_clientDataService = clientDataService;
|
||||
_projectDataService = projectDataService;
|
||||
_buildingsiteDataService = buildingsiteDataService;
|
||||
|
||||
_navigator.StateChanged += _navigator_StateChanged;
|
||||
|
||||
@@ -84,6 +114,59 @@ namespace DaSaSo.ViewModel
|
||||
_actualProject.ProjectChanged += _actualProject_ProjectChanged;
|
||||
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
|
||||
_actualProject.SewerObjectChanged += _actualProject_SewerObjectChanged;
|
||||
|
||||
ladeRegistry();
|
||||
}
|
||||
|
||||
private async void ladeRegistry()
|
||||
{
|
||||
|
||||
registry = Registry.CurrentUser.OpenSubKey("Software\\Cosysda\\DaSaSo");
|
||||
if (registry == null) initRegistry();
|
||||
int clientid = Convert.ToInt32((string)registry.GetValue("lastclient", "-1"));
|
||||
if (clientid == -1)
|
||||
return;
|
||||
Client lastClient = await _clientDataService.Get(clientid);
|
||||
if (lastClient == null)
|
||||
{
|
||||
saveInRegistry("lastclient", "-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetClient(lastClient);
|
||||
|
||||
int projectid = Convert.ToInt32((string)registry.GetValue("lastproject", "-1"));
|
||||
if (projectid == -1)
|
||||
return;
|
||||
Project lastProject = await _projectDataService.Get(projectid);
|
||||
if(lastProject == null)
|
||||
{
|
||||
saveInRegistry("lastproject","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetProject(lastProject);
|
||||
|
||||
int buildingsiteid = Convert.ToInt32((string)registry.GetValue("lastbuildingsite", "-1"));
|
||||
if (buildingsiteid == -1)
|
||||
return;
|
||||
Buildingsite lastBuildingiste = await _buildingsiteDataService.Get(buildingsiteid);
|
||||
if(lastBuildingiste == null)
|
||||
{
|
||||
saveInRegistry("lastbuildingsite","-1");
|
||||
return;
|
||||
}
|
||||
_actualProject.SetBuildingSite(lastBuildingiste);
|
||||
|
||||
}
|
||||
|
||||
private void saveInRegistry(string key, string value)
|
||||
{
|
||||
Registry.SetValue(REGISTRYKEY, key, value);
|
||||
}
|
||||
|
||||
private void initRegistry()
|
||||
{
|
||||
Registry.CurrentUser.CreateSubKey("Software\\Cosysda\\DaSaSo");
|
||||
ladeRegistry();
|
||||
}
|
||||
|
||||
private void _actualProject_SewerObjectChanged(object? sender, EventArgs e)
|
||||
@@ -98,6 +181,7 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastbuildingsite", _actualProject.AktuellBaustelle.Id.ToString());
|
||||
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
|
||||
OnPropertyChanged(nameof(CanSelectSewerObjects));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
|
||||
@@ -105,6 +189,7 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
private void _actualProject_ProjectChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastproject", _actualProject.AktuellProjekt.Id.ToString());
|
||||
Projektname = _actualProject.AktuellProjekt.Name;
|
||||
OnPropertyChanged(nameof(CanSelectBuildingSite));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
|
||||
@@ -112,6 +197,7 @@ namespace DaSaSo.ViewModel
|
||||
|
||||
private void _actualProject_ClientChanged(object? sender, EventArgs e)
|
||||
{
|
||||
saveInRegistry("lastclient", _actualProject.AktuellClient.Id.ToString());
|
||||
ClientName = _actualProject.AktuellClient.Firstname;
|
||||
OnPropertyChanged(nameof(CanSelectProject));
|
||||
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
|
||||
|
||||
Reference in New Issue
Block a user