Sewerobject wird vollständig geladen

This commit is contained in:
HuskyTeufel
2021-09-27 10:19:11 +02:00
parent de9c12acef
commit d9f34cbf90
4 changed files with 86 additions and 21 deletions

View File

@@ -36,9 +36,13 @@ namespace DaSaSo.EntityFramework.Services
return await _nonQueryDataService.Delete(id); return await _nonQueryDataService.Delete(id);
} }
public Task<SewerObject> Get(int id) public async Task<SewerObject> Get(int id)
{ {
throw new NotImplementedException(); using (DaSaSoDbContext context = _contextFactory.CreateDbContext())
{
SewerObject? s = await context.SewerObjects.Include("BuildingSite").FirstOrDefaultAsync((e) => e.Id == id);
return s;
}
} }
public Task<IEnumerable<SewerObject>> GetAll() public Task<IEnumerable<SewerObject>> GetAll()

View File

@@ -22,10 +22,7 @@ namespace DaSaSo.ViewModel
_navigator = navigator; _navigator = navigator;
_actualProject = actualProject; _actualProject = actualProject;
UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory); UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory);
_navigator.StateChanged += () => _navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel));
{
OnPropertyChanged(nameof(CurrentSewerViewModel));
}; //_navigator_StateChanged;
} }
} }
} }

View File

@@ -1,7 +1,10 @@
using DaSaSo.Domain.Model; using DaSaSo.Domain.Model;
using DaSaSo.Domain.Services;
using DaSaSo.EntityFramework.Services;
using DaSaSo.ViewModel.Interface; using DaSaSo.ViewModel.Interface;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -11,55 +14,115 @@ namespace DaSaSo.ViewModel
public class SewerStammdatenViewModel : BaseViewModel public class SewerStammdatenViewModel : BaseViewModel
{ {
private readonly IActualProject _actualProject; private readonly IActualProject _actualProject;
private readonly SewerObjectDataService _dataservice;
private SewerObject _model; private SewerObject _model;
public string Haltungsname public string Haltungsname
{ {
get => _model.ObjektName; get => Model.ObjektName;
set set
{ {
if(_model.ObjektName != value) if(Model.ObjektName != value)
{ {
_model.ObjektName = value; Model.ObjektName = value;
OnPropertyChanged(); OnPropertyChanged();
} }
} }
} }
public string Oberepunkt { get; set; } public string Oberepunkt { get; set; }
public string Unterepunkt { get; set; } public string Unterepunkt { get; set; }
public string Durchmesser { get; set; } public int Durchmesser
public string Material { get; set; } {
public decimal Leitungslenght { get => Model.DN;
get => _model.SewerLength;
set set
{ {
if(_model.SewerLength != value) if(Model.SewerLength != value)
{ {
_model.SewerLength = value; Model.SewerLength = value;
OnPropertyChanged();
}
}
}
public string Material
{
get => Model.Material;
set
{
if(Model.Material != value)
{
Model.Material = value;
OnPropertyChanged();
}
}
}
public decimal Leitungslenght {
get => Model.SewerLength;
set
{
if(Model.SewerLength != value)
{
Model.SewerLength = value;
OnPropertyChanged(); OnPropertyChanged();
} }
} }
} }
public string Strasse public string Strasse
{ {
get => _model.StreetName; get => Model.StreetName;
set set
{ {
if (_model.StreetName != value) if (Model.StreetName != value)
{ {
_model.StreetName = value; Model.StreetName = value;
OnPropertyChanged(); OnPropertyChanged();
} }
} }
} }
public string Ort public string Ort
{ {
get;set; get
{
return Model.BuildingSite == null ? "" : Model.BuildingSite.Country;
}
set
{
if(Model.BuildingSite.Country != value)
{
Model.BuildingSite.Country = value;
OnPropertyChanged();
}
}
} }
public SewerStammdatenViewModel(IActualProject actualProject)
public SewerObject Model
{
get => _model;
set
{
_model = value;
OnPropertyChanged(nameof(Haltungsname));
OnPropertyChanged(nameof(Oberepunkt));
OnPropertyChanged(nameof(Unterepunkt));
OnPropertyChanged(nameof(Durchmesser));
OnPropertyChanged(nameof(Material));
OnPropertyChanged(nameof(Leitungslenght));
OnPropertyChanged(nameof(Strasse));
OnPropertyChanged(nameof(Ort));
}
}
public SewerStammdatenViewModel(IDataService<SewerObject> dataService,IActualProject actualProject)
{ {
_actualProject = actualProject; _actualProject = actualProject;
_model = actualProject.AktuellSewerObject; _dataservice = (SewerObjectDataService)dataService;
Model = new SewerObject();
LoadModel();
}
private async void LoadModel()
{
Model = await _dataservice.Get(_actualProject.AktuellSewerObject.Id);
} }
} }
} }

View File

@@ -72,6 +72,7 @@ namespace DaSaSo.Wpf
services.AddSingleton<CreateViewModel<SewerStammdatenViewModel>>(services => services.AddSingleton<CreateViewModel<SewerStammdatenViewModel>>(services =>
{ {
return () => new SewerStammdatenViewModel( return () => new SewerStammdatenViewModel(
services.GetRequiredService<IDataService<SewerObject>>(),
services.GetRequiredService<IActualProject>() services.GetRequiredService<IActualProject>()
); );
}); });