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 @@
-
+