From 8d12594067eef3cb588936a014ce0ea2c9ef2ab5 Mon Sep 17 00:00:00 2001 From: Husky Date: Sat, 18 Apr 2020 18:00:33 +0200 Subject: [PATCH] Leistungsverzeichnisposition kann nun bearbeitet werden --- .../LeistungsverzeichnisPositionViewModel.cs | 84 +++++++++++++++++++ KanSan/MainWindow.xaml.cs | 24 ++++++ .../UCLeistungsverzeichnisPosList.xaml | 13 ++- .../UCLeistungsverzeichnisPosList.xaml.cs | 28 ++++++- .../UCLeistungsverzeichnisPosition.xaml | 2 +- .../UCLeistungsverzeichnisPosition.xaml.cs | 13 ++- KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml | 6 +- 7 files changed, 161 insertions(+), 9 deletions(-) create mode 100644 KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs diff --git a/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs new file mode 100644 index 0000000..ee1d52a --- /dev/null +++ b/KanSan.ViewModel/LeistungsverzeichnisPositionViewModel.cs @@ -0,0 +1,84 @@ +using KanSan.Base; +using KanSan.Base.Interfaces; +using KanSan.Base.Interfaces.UI; +using KanSan.Base.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Text; + +namespace KanSan.ViewModel +{ + public class LeistungsverzeichnisPositionViewModel : PropertyChangedClass, INotifyPropertyChanged, ILeistungsverzeichnisPositionViewModel + { + IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); + + LeistungsverzeichnisPosition model; + string positionsnummer; + string beschreibung; + string einheit; + string tag; + + public string Positionsnummer + { + get => positionsnummer; + set + { + if (positionsnummer == value) return; + positionsnummer = value; + OnPropertyChanged(); + } + } + public string Beschreibung + { + get => beschreibung; + set + { + if (beschreibung == value) return; + beschreibung = value; + OnPropertyChanged(); + } + } + public string Einheit + { + get => einheit; + set + { + if (einheit == value) return; + einheit = value; + OnPropertyChanged(); + } + } + public string Tag + { + get => tag; + set + { + if (tag == value) return; + tag = value; + OnPropertyChanged(); + } + } + + public LeistungsverzeichnisPositionViewModel(LeistungsverzeichnisPosition position) + { + this.model = position; + positionsnummer = model.Positionsnummer; + beschreibung = model.Beschreibung; + einheit = model.Einheit; + tag = model.Tag; + } + + public void Speichern() + { + model.Positionsnummer = positionsnummer; + model.Beschreibung = beschreibung; + model.Einheit = einheit; + model.Tag = tag; + + unitOfWork.LeistungsverzeichnisRepository.Update(model); + unitOfWork.Commit(); + } + + } +} diff --git a/KanSan/MainWindow.xaml.cs b/KanSan/MainWindow.xaml.cs index e6b74bc..73b2e17 100644 --- a/KanSan/MainWindow.xaml.cs +++ b/KanSan/MainWindow.xaml.cs @@ -123,6 +123,8 @@ namespace KanSan private void rbKunden_Checked(object sender, RoutedEventArgs e) { + rbLeistungsverzeichnis.IsChecked = false; + rbLeistungsverzeichnisBaustellen.IsChecked = false; UCKundeList = new UI.UCKundeList(); UCKundeList.KundeAdded += UCKundeList_KundeAdded; UCKundeList.KundeSelect += UCKundeList_KundeSelect; @@ -131,6 +133,8 @@ namespace KanSan private void rbProjekte_Checked(object sender, RoutedEventArgs e) { + rbLeistungsverzeichnis.IsChecked = false; + rbLeistungsverzeichnisBaustellen.IsChecked = false; Kunde client = (DataContext as MainWindowViewModel).SelectedKunde; if (client == null) return; UCProjektList = new UI.UCProjektList(client); @@ -142,6 +146,8 @@ namespace KanSan private void rbBaustellen_Checked(object sender, RoutedEventArgs e) { + rbLeistungsverzeichnis.IsChecked = false; + rbLeistungsverzeichnisBaustellen.IsChecked = false; Projekt projekt = (DataContext as MainWindowViewModel).SelectedProjekt; if (projekt == null) return; UCBaustelleList = new UI.UCBaustelleList(projekt); @@ -153,6 +159,8 @@ namespace KanSan private void rbObjekte_Checked(object sender, RoutedEventArgs e) { + rbLeistungsverzeichnis.IsChecked = false; + rbLeistungsverzeichnisBaustellen.IsChecked = false; rbObjekte.IsChecked = true; UI.UCObjekteList uCObjekteList = new UI.UCObjekteList((DataContext as MainWindowViewModel).SelectedBaustelle); uCObjekteList.ObjektSelected += UCObjekteList_ObjektSelected; @@ -161,12 +169,28 @@ namespace KanSan private void rbLeistungsverzeichnis_Checked(object sender, RoutedEventArgs e) { + rbBaustellen.IsChecked = false; + rbKunden.IsChecked = false; + rbObjekte.IsChecked = false; + rbProjekte.IsChecked = false; UCLeistungsverzeichnisPosList = new UI.UCLeistungsverzeichnisPosList(); + UCLeistungsverzeichnisPosList.LeistungsverzeichnisEdited += UCLeistungsverzeichnisPosList_LeistungsverzeichnisEdited; ContentController.Content = UCLeistungsverzeichnisPosList; } + private void UCLeistungsverzeichnisPosList_LeistungsverzeichnisEdited(object sender, UI.SelectedLeistungsverzeichnisEventArgs e) + { + + UI.UCLeistungsverzeichnisPosition uCLeistungsverzeichnisPosition = new UI.UCLeistungsverzeichnisPosition(e.LeistungsverzeichnisPosition); + ContentController.Content = uCLeistungsverzeichnisPosition; + } + private void rbLeistungsverzeichnisBaustellen_Checked(object sender, RoutedEventArgs e) { + rbBaustellen.IsChecked = false; + rbKunden.IsChecked = false; + rbObjekte.IsChecked = false; + rbProjekte.IsChecked = false; UCLeistungsverzeichnisPositionenBaustelle = new UI.UCLeistungsverzeichnisPositionenBaustelle(); ContentController.Content = UCLeistungsverzeichnisPositionenBaustelle; } diff --git a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosList.xaml b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosList.xaml index 0e57481..1b77301 100644 --- a/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosList.xaml +++ b/KanSan/UI/Leistungsverzeichnis/UCLeistungsverzeichnisPosList.xaml @@ -15,7 +15,7 @@ - + @@ -23,6 +23,15 @@ -