From 1308d35eab37a69886d4a633fcc542fa6c0076ec Mon Sep 17 00:00:00 2001 From: Husky Date: Sun, 19 Apr 2020 16:29:30 +0200 Subject: [PATCH] =?UTF-8?q?Ausgew=C3=A4hlte=20Leistung=20wird=20in=20t?= =?UTF-8?q?=C3=A4tigkeit=20dargestellt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tungsverzeichnisPositionenListViewModel.cs | 32 +++++++++++++++---- KanSan.ViewModel/TaetigkeitEditViewModel.cs | 5 +++ KanSan/MainWindow.xaml.cs | 8 +++++ .../UCLeistungsverzeichnisPosition.xaml.cs | 9 ++++++ KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml | 6 ++-- 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs index 8094f14..2485328 100644 --- a/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs +++ b/KanSan.ViewModel/Leistungsverzeichnis/LeistungsverzeichnisPositionenListViewModel.cs @@ -4,27 +4,44 @@ using KanSan.Base.Interfaces.UI; using KanSan.Base.Models; using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using System.Text; namespace KanSan.ViewModel { - public class LeistungsverzeichnisPositionenListViewModel : ILeistungsverzeichnisPositionListViewModel + public class LeistungsverzeichnisPositionenListViewModel :PropertyChangedClass, INotifyPropertyChanged, ILeistungsverzeichnisPositionListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); List lvPositionen; - public List LVPositionen => lvPositionen; + public List LVPositionen + { + get => lvPositionen; + set + { + if (lvPositionen == value) return; + lvPositionen = value; + OnPropertyChanged(); + } + } + string tag; public LeistungsverzeichnisPositionenListViewModel(string tag) { - if(tag == string.Empty) + this.tag = tag; + LoadLVPositionen(); + } + + void LoadLVPositionen() + { + if (tag == string.Empty) { - lvPositionen = unitOfWork.LeistungsverzeichnisRepository.Get().ToList(); - } + LVPositionen = unitOfWork.LeistungsverzeichnisRepository.Get().ToList(); + } else { - lvPositionen = unitOfWork.LeistungsverzeichnisRepository.Get(x => x.Tag.Equals(tag)).ToList(); - if (lvPositionen == null) lvPositionen = new List(); + LVPositionen = unitOfWork.LeistungsverzeichnisRepository.Get(x => x.Tag.Equals(tag)).ToList(); + if (LVPositionen == null) LVPositionen = new List(); } } @@ -41,6 +58,7 @@ namespace KanSan.ViewModel }; unitOfWork.LeistungsverzeichnisRepository.Insert(leistungsverzeichnisPosition); unitOfWork.Commit(); + LoadLVPositionen(); return leistungsverzeichnisPosition; } diff --git a/KanSan.ViewModel/TaetigkeitEditViewModel.cs b/KanSan.ViewModel/TaetigkeitEditViewModel.cs index 1f0e2f8..c8aac08 100644 --- a/KanSan.ViewModel/TaetigkeitEditViewModel.cs +++ b/KanSan.ViewModel/TaetigkeitEditViewModel.cs @@ -103,6 +103,11 @@ namespace KanSan.ViewModel lvPositionen = new List(); foreach(BaustelleLeistungsverzeichnisReferenz referenz in baustelleLeistungsverzeichnis) { + if(model.LeistungsverzeichnisPosition.GuidNr.Equals(referenz.LVPosition.GuidNr)) + { + leistungsverzeichnis = referenz.LVPosition; + } + Trace.WriteLine(referenz.LVPosition.Equals(model.LeistungsverzeichnisPosition)); lvPositionen.Add(referenz.LVPosition); } var x = LVPositionen.Equals(leistungsverzeichnis); diff --git a/KanSan/MainWindow.xaml.cs b/KanSan/MainWindow.xaml.cs index 73b2e17..8380c37 100644 --- a/KanSan/MainWindow.xaml.cs +++ b/KanSan/MainWindow.xaml.cs @@ -182,9 +182,17 @@ namespace KanSan { UI.UCLeistungsverzeichnisPosition uCLeistungsverzeichnisPosition = new UI.UCLeistungsverzeichnisPosition(e.LeistungsverzeichnisPosition); + uCLeistungsverzeichnisPosition.SpeichernClicked += UCLeistungsverzeichnisPosition_SpeichernClicked; ContentController.Content = uCLeistungsverzeichnisPosition; } + private void UCLeistungsverzeichnisPosition_SpeichernClicked(object sender, EventArgs e) + { + UCLeistungsverzeichnisPosList = new UI.UCLeistungsverzeichnisPosList(); + UCLeistungsverzeichnisPosList.LeistungsverzeichnisEdited += UCLeistungsverzeichnisPosList_LeistungsverzeichnisEdited; + ContentController.Content = UCLeistungsverzeichnisPosList; + } + private void rbLeistungsverzeichnisBaustellen_Checked(object sender, RoutedEventArgs e) { rbBaustellen.IsChecked = false; diff --git a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml.cs b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml.cs index 87c248a..f8d481c 100644 --- a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml.cs +++ b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosition.xaml.cs @@ -20,6 +20,14 @@ namespace KanSan.UI /// public partial class UCLeistungsverzeichnisPosition : UserControl { + public event EventHandler SpeichernClicked; + + protected virtual void OnSpeichernClicked(EventArgs e) + { + EventHandler handler = SpeichernClicked; + if (handler != null) + handler(this, e); + } public UCLeistungsverzeichnisPosition(LeistungsverzeichnisPosition leistungsverzeichnisPosition) { InitializeComponent(); @@ -30,6 +38,7 @@ namespace KanSan.UI private void Save_Click(object sender, RoutedEventArgs e) { (DataContext as LeistungsverzeichnisPositionViewModel).Speichern(); + OnSpeichernClicked(EventArgs.Empty); } } } diff --git a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml index d238639..1be4cce 100644 --- a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml +++ b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml @@ -50,12 +50,12 @@ - - + +