Sewerpoints und Objektnummern hinzugefügt

This commit is contained in:
HuskyTeufel
2021-09-28 17:52:17 +02:00
parent e8674fed2c
commit a8029c091d
27 changed files with 1196 additions and 67 deletions

View File

@@ -28,7 +28,7 @@ namespace DaSaSo.ViewModel.Commands
{
Client newClient = await dataservice.Create(new Client());
actualProject.SetClient(newClient);
actualProject.SetClient(newClient,false);
//actualProject.SetClient(clientListViewModel.SelectedClient);
renavigator.Renavigate(new ClientEditViewModel(dataservice, actualProject, renavigator));
}

View File

@@ -22,7 +22,8 @@ namespace DaSaSo.ViewModel.Commands
private readonly IRenavigator _renavigator;
private readonly ISewerMainNavigator _navigator;
public SaveSewerCommand(SewerMainListViewModel sewerMainListViewModel,
public SaveSewerCommand(
SewerMainListViewModel sewerMainListViewModel,
IDataService<SewerObject> dataService,
IActualProject actualProject,
ISewerObjectService sewerObjectService,
@@ -43,11 +44,11 @@ namespace DaSaSo.ViewModel.Commands
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);
//_ = await _dataService.Update(_actualProject.AktuellSewerObject.Id, _actualProject.AktuellSewerObject);
_renavigator.Renavigate(new SewerObjectListViewModel(_dataService, _actualProject, _sewerObjectService));
}
}

View File

@@ -0,0 +1,51 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.SewerPointServices;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Commands
{
class SaveSewerStammdatenCommand : AsyncCommandBase
{
private readonly SewerStammdatenViewModel _stammdatenViewModel;
private IDataService<SewerObject> _dataService;
private readonly ISewerpointService _sewerPointService;
public SaveSewerStammdatenCommand(SewerStammdatenViewModel stammdatenViewModel, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
{
_stammdatenViewModel = stammdatenViewModel;
_dataService = dataService;
_sewerPointService = sewerpointService;
}
public override async Task ExecuteAsync(object? parameter)
{
if (_stammdatenViewModel._oberepunkt != null)
{
if ((_stammdatenViewModel.Model.PunktOben == null) || (_stammdatenViewModel._oberepunkt != _stammdatenViewModel.Model.PunktOben.Objektnummer))
{
SewerPoint punktOben = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._oberepunkt);
_stammdatenViewModel.Model.PunktOben = punktOben;
}
}
if (_stammdatenViewModel._unterepunkt != null)
{
if ((_stammdatenViewModel.Model.PunktUnten == null) || (_stammdatenViewModel._unterepunkt != _stammdatenViewModel.Model.PunktUnten.Objektnummer))
{
SewerPoint punktUnten = await _sewerPointService.CreateOrFindSewerpoint(_stammdatenViewModel._unterepunkt);
_stammdatenViewModel.Model.PunktUnten = punktUnten;
}
}
_stammdatenViewModel.Model = await _dataService.Update(_stammdatenViewModel.Model.Id, _stammdatenViewModel.Model);
Trace.WriteLine("Daten gespeichert");
}
}
}

View File

@@ -18,7 +18,7 @@ namespace DaSaSo.ViewModel.Interface
Buildingsite AktuellBaustelle { get; }
SewerObject AktuellSewerObject { get; }
void SetClient(Client client);
void SetClient(Client client, bool notification = true);
void SetProject(Project project, bool notification = true);
void SetBuildingSite(Buildingsite buildingsite);
void SetSewerObject(SewerObject sewerObject, bool notification = true);

View File

@@ -34,6 +34,18 @@ namespace DaSaSo.ViewModel
}
}
}
public string ProjektNummer
{
get => _model.Projektnummer;
set
{
if(_model.Projektnummer != value)
{
_model.Projektnummer = value;
OnPropertyChanged();
}
}
}
public ProjectEditViewModel(IDataService<Project> dataservice, IActualProject actualProject,IRenavigator renavigator, IProjectService projectService)
{

View File

@@ -56,14 +56,9 @@ namespace DaSaSo.ViewModel
LoadProjecte();
}
public async void LoadProjecte()
public void LoadProjecte()
{
var projekte = await genericDataService.GetAllByClient(actualProject.AktuellClient);
//
InitCollection(Projekte, projekte);
InitCollection(Projekte, actualProject.AktuellClient.Projects);
}
private void InitCollection(ObservableCollection<Project> target, IEnumerable<Project> source)

View File

@@ -1,6 +1,8 @@
using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.Domain.Services.SewerPointServices;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Commands;
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
@@ -8,14 +10,20 @@ using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace DaSaSo.ViewModel
{
public class SewerStammdatenViewModel : BaseViewModel
{
private readonly IActualProject _actualProject;
private readonly ISewerpointService _sewerpointService;
private SewerObject _model;
public ICommand SaveCommand { get; set; }
public string _oberepunkt { get; set; }
public string _unterepunkt { get; set; }
public string Haltungsname
{
get => Model.ObjektName;
@@ -28,8 +36,39 @@ namespace DaSaSo.ViewModel
}
}
}
public string Oberepunkt { get; set; }
public string Unterepunkt { get; set; }
public string Oberepunkt
{
get
{
if (_model.PunktOben != null)
return _model.PunktOben.Objektnummer;
return _oberepunkt;
}
set
{
if(_oberepunkt != value)
{
_oberepunkt = value;
}
}
}
public string Unterepunkt
{
get
{
if (_model.PunktUnten != null)
return _model.PunktUnten.Objektnummer;
return _unterepunkt;
}
set
{
if(_unterepunkt != value)
{
_unterepunkt = value;
}
}
}
public int Durchmesser
{
get => Model.DN;
@@ -110,13 +149,12 @@ namespace DaSaSo.ViewModel
}
}
public SewerStammdatenViewModel(IActualProject actualProject)
public SewerStammdatenViewModel(IActualProject actualProject, IDataService<SewerObject> dataService, ISewerpointService sewerpointService)
{
_actualProject = actualProject;
Model = _actualProject.AktuellSewerObject;
SaveCommand = new SaveSewerStammdatenCommand(this, dataService, sewerpointService);
}
~SewerStammdatenViewModel()

View File

@@ -39,10 +39,11 @@ namespace DaSaSo.ViewModel.State.ActualState
SewerObjectChanged?.Invoke(this, new EventArgs());
}
#endregion
public void SetClient(Client client)
public void SetClient(Client client, bool notification = true)
{
AktuellClient = client;
OnClientChanged();
if(notification)
OnClientChanged();
}
public void SetProject(Project project, bool notification = true)