From d9f34cbf9002cc77dcd27b8b4c330747b8604edc Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Mon, 27 Sep 2021 10:19:11 +0200 Subject: [PATCH] =?UTF-8?q?Sewerobject=20wird=20vollst=C3=A4ndig=20geladen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/SewerObjectDataService.cs | 8 +- DaSaSo.ViewModel/SewerMainListViewModel.cs | 5 +- DaSaSo.ViewModel/SewerStammdatenViewModel.cs | 93 ++++++++++++++++--- DaSaSo.Wpf/App.xaml.cs | 1 + 4 files changed, 86 insertions(+), 21 deletions(-) diff --git a/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs b/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs index 1384234..a58b9d0 100644 --- a/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs +++ b/DaSaSo.EntityFramework/Services/SewerObjectDataService.cs @@ -36,9 +36,13 @@ namespace DaSaSo.EntityFramework.Services return await _nonQueryDataService.Delete(id); } - public Task Get(int id) + public async Task 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> GetAll() diff --git a/DaSaSo.ViewModel/SewerMainListViewModel.cs b/DaSaSo.ViewModel/SewerMainListViewModel.cs index 6d0a567..8dd61e7 100644 --- a/DaSaSo.ViewModel/SewerMainListViewModel.cs +++ b/DaSaSo.ViewModel/SewerMainListViewModel.cs @@ -22,10 +22,7 @@ namespace DaSaSo.ViewModel _navigator = navigator; _actualProject = actualProject; UpdateCurrentSewerViewModelCommand = new UpdateCurrentSewerViewModelCommand(_navigator, viewModelFactory); - _navigator.StateChanged += () => - { - OnPropertyChanged(nameof(CurrentSewerViewModel)); - }; //_navigator_StateChanged; + _navigator.StateChanged += () => OnPropertyChanged(nameof(CurrentSewerViewModel)); } } } diff --git a/DaSaSo.ViewModel/SewerStammdatenViewModel.cs b/DaSaSo.ViewModel/SewerStammdatenViewModel.cs index 318dd6c..d592d88 100644 --- a/DaSaSo.ViewModel/SewerStammdatenViewModel.cs +++ b/DaSaSo.ViewModel/SewerStammdatenViewModel.cs @@ -1,7 +1,10 @@ using DaSaSo.Domain.Model; +using DaSaSo.Domain.Services; +using DaSaSo.EntityFramework.Services; using DaSaSo.ViewModel.Interface; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,55 +14,115 @@ namespace DaSaSo.ViewModel public class SewerStammdatenViewModel : BaseViewModel { private readonly IActualProject _actualProject; + private readonly SewerObjectDataService _dataservice; private SewerObject _model; public string Haltungsname { - get => _model.ObjektName; + get => Model.ObjektName; set { - if(_model.ObjektName != value) + if(Model.ObjektName != value) { - _model.ObjektName = value; + Model.ObjektName = value; OnPropertyChanged(); } } } public string Oberepunkt { get; set; } public string Unterepunkt { get; set; } - public string Durchmesser { get; set; } - public string Material { get; set; } - public decimal Leitungslenght { - get => _model.SewerLength; + public int Durchmesser + { + get => Model.DN; 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(); } } } public string Strasse { - get => _model.StreetName; + get => Model.StreetName; set { - if (_model.StreetName != value) + if (Model.StreetName != value) { - _model.StreetName = value; + Model.StreetName = value; OnPropertyChanged(); } } } 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 dataService,IActualProject actualProject) { _actualProject = actualProject; - _model = actualProject.AktuellSewerObject; + _dataservice = (SewerObjectDataService)dataService; + Model = new SewerObject(); + + LoadModel(); + } + + private async void LoadModel() + { + Model = await _dataservice.Get(_actualProject.AktuellSewerObject.Id); } } } diff --git a/DaSaSo.Wpf/App.xaml.cs b/DaSaSo.Wpf/App.xaml.cs index 51c5d76..c32b1ee 100644 --- a/DaSaSo.Wpf/App.xaml.cs +++ b/DaSaSo.Wpf/App.xaml.cs @@ -72,6 +72,7 @@ namespace DaSaSo.Wpf services.AddSingleton>(services => { return () => new SewerStammdatenViewModel( + services.GetRequiredService>(), services.GetRequiredService() ); });