Leitungen können nun bearbeitet werden

This commit is contained in:
HuskyTeufel
2021-09-28 10:46:16 +02:00
parent d9f34cbf90
commit e8674fed2c
43 changed files with 790 additions and 93 deletions

View File

@@ -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));
}
}
}

View File

@@ -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));
}
}

View File

@@ -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);
}
}
}

View File

@@ -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;
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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)

View 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));
}
}
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)