From 97fdc31e2187f24ca601f5a26b87fbf10cc6c3e8 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Tue, 31 Aug 2021 13:56:13 +0200 Subject: [PATCH] Projekt kann nun Selectiert werden --- KanSan.ViewModel/MainWindowViewModel.cs | 14 ++++++++++++++ KanSan.ViewModel/Projekt/ProjektEditViewModel.cs | 6 ++++++ KanSan.ViewModel/Projekt/ProjektListViewModel.cs | 7 +++++++ KanSan/UI/Projekt/UCProjektEdit.xaml | 2 +- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/KanSan.ViewModel/MainWindowViewModel.cs b/KanSan.ViewModel/MainWindowViewModel.cs index a7d468f..6d10661 100644 --- a/KanSan.ViewModel/MainWindowViewModel.cs +++ b/KanSan.ViewModel/MainWindowViewModel.cs @@ -245,10 +245,24 @@ namespace KanSan.ViewModel Mediator.Subscribe("GoToEditClientScreen", OnGoToEditClientScreen); Mediator.Subscribe("ClientSelected", OnSelectedClient); + Mediator.Subscribe("GoToListProjektScreen", OnGoToListProjektScreen); Mediator.Subscribe("GoToEditProjektScreen", OnGoToEditProjektScreen); + Mediator.Subscribe("ProjektSelected", OnSelectedProjekt); } + private void OnSelectedProjekt(object obj) + { + if (!(obj is Projekt)) return; + SelectedProjekt = (obj as Projekt); + ListBaustellen(); + } + + private void OnGoToListProjektScreen(object obj) + { + ListProjekte(); + } + private void OnGoToEditProjektScreen(object obj) { if (!(obj is Projekt)) return; diff --git a/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs b/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs index 70629af..10e1c47 100644 --- a/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs +++ b/KanSan.ViewModel/Projekt/ProjektEditViewModel.cs @@ -2,16 +2,20 @@ using KanSan.Base.Interfaces; using KanSan.Base.Interfaces.UI; using KanSan.Base.Models; +using KanSan.ViewModel.Commands; using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; +using System.Windows.Input; namespace KanSan.ViewModel { public class ProjektEditViewModel : BaseViewModel,INotifyPropertyChanged, IProjektEditViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); + public ICommand SaveProjekt { get; set; } + public ICommand RemoveProjekt { get; set; } private Projekt projekt; string projektnummer; string ort; @@ -41,6 +45,7 @@ namespace KanSan.ViewModel this.projekt = projekt; projektnummer = projekt.Projektnummer; ort = projekt.Ort; + SaveProjekt = new RelayCommand(parameter => Speichern()); } public void Speichern() @@ -49,6 +54,7 @@ namespace KanSan.ViewModel projekt.Projektnummer = Projektnummer; unitOfWork.ProjekteRepository.Update(projekt); unitOfWork.Commit(); + Mediator.Notify("GoToListProjektScreen"); } } } diff --git a/KanSan.ViewModel/Projekt/ProjektListViewModel.cs b/KanSan.ViewModel/Projekt/ProjektListViewModel.cs index afa5951..a7cbcbe 100644 --- a/KanSan.ViewModel/Projekt/ProjektListViewModel.cs +++ b/KanSan.ViewModel/Projekt/ProjektListViewModel.cs @@ -37,10 +37,17 @@ namespace KanSan.ViewModel projektevonKunde = unitOfWork.ProjekteRepository.Get(x => x.Kunde.Equals(client)).ToList(); + SelectProjekt = new RelayCommand(parameter => SelectActualProjekt()); EditProjekt = new RelayCommand(parameter => EditSelectedProjekt()); NewProjekt = new RelayCommand(parameter => AddNewProjekt()); } + private void SelectActualProjekt() + { + if (SelectedProjekt == null) return; + Mediator.Notify("ProjektSelected", SelectedProjekt); + } + private void AddNewProjekt() { Projekt newProj = NeueProjekt(); diff --git a/KanSan/UI/Projekt/UCProjektEdit.xaml b/KanSan/UI/Projekt/UCProjektEdit.xaml index 8af7f6e..2dffeb0 100644 --- a/KanSan/UI/Projekt/UCProjektEdit.xaml +++ b/KanSan/UI/Projekt/UCProjektEdit.xaml @@ -23,7 +23,7 @@