diff --git a/KanSan.Base/Interfaces/UI/IKundenListViewModel.cs b/KanSan.Base/Interfaces/UI/IKundenListViewModel.cs new file mode 100644 index 0000000..c37a2a9 --- /dev/null +++ b/KanSan.Base/Interfaces/UI/IKundenListViewModel.cs @@ -0,0 +1,12 @@ +using KanSan.Base.Models; +using System; +using System.Collections.Generic; +using System.Text; + +namespace KanSan.Base.Interfaces.UI +{ + public interface IKundenListViewModel + { + List Kunden { get; } + } +} diff --git a/KanSan.ViewModel/KundenListViewModel.cs b/KanSan.ViewModel/KundenListViewModel.cs index 402930e..945f6cf 100644 --- a/KanSan.ViewModel/KundenListViewModel.cs +++ b/KanSan.ViewModel/KundenListViewModel.cs @@ -1,5 +1,6 @@ using KanSan.Base; using KanSan.Base.Interfaces; +using KanSan.Base.Interfaces.UI; using KanSan.Base.Models; using System; using System.Collections.Generic; @@ -9,7 +10,7 @@ using System.Text; namespace KanSan.ViewModel { - public class KundenListViewModel + public class KundenListViewModel : IKundenListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private List kunden; diff --git a/KanSan.ViewModel/ProjektListViewModel.cs b/KanSan.ViewModel/ProjektListViewModel.cs index a253f08..765243f 100644 --- a/KanSan.ViewModel/ProjektListViewModel.cs +++ b/KanSan.ViewModel/ProjektListViewModel.cs @@ -3,6 +3,7 @@ using KanSan.Base.Interfaces; using KanSan.Base.Models; using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace KanSan.ViewModel @@ -10,6 +11,18 @@ namespace KanSan.ViewModel public class ProjektListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); + private Kunde selectedKunde; + + public ProjektListViewModel(Kunde client) + { + List clients = unitOfWork.KundenRepository.Get(x => x.GuidNr.Equals(client.GuidNr)).ToList(); + this.selectedKunde = clients.First(); + //this.selectedKunde = selectedKunde; + + + + List projektevonKunde = unitOfWork.ProjekteRepository.Get(x => x.Kunde.Equals(client)).ToList(); + } public void SelectProjekt() { @@ -18,7 +31,19 @@ namespace KanSan.ViewModel public Projekt NeueProjekt() { - throw new NotImplementedException(); + Guid guid = Guid.NewGuid(); + Projekt newProjekt = new Projekt() + { + GuidNr = guid, + Kunde = selectedKunde + }; + + unitOfWork.ProjekteRepository.Insert(newProjekt); + unitOfWork.Commit(); + + List res = unitOfWork.ProjekteRepository.Get(x => x.GuidNr.Equals(guid)).ToList(); + if (res.Count < 1) throw new Exception("Der zuvor eingefügte Projekt konnte nicht in der Datenbank gefunden werden"); + return res.First(); } } } diff --git a/KanSan/MainWindow.xaml b/KanSan/MainWindow.xaml index b1e294c..a25fc30 100644 --- a/KanSan/MainWindow.xaml +++ b/KanSan/MainWindow.xaml @@ -18,7 +18,7 @@