Projekte werden angezeigt
This commit is contained in:
12
KanSan.Base/Interfaces/UI/IKundenListViewModel.cs
Normal file
12
KanSan.Base/Interfaces/UI/IKundenListViewModel.cs
Normal file
@@ -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<Kunde> Kunden { get; }
|
||||
}
|
||||
}
|
||||
@@ -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<Kunde> kunden;
|
||||
|
||||
@@ -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<Kunde> clients = unitOfWork.KundenRepository.Get(x => x.GuidNr.Equals(client.GuidNr)).ToList();
|
||||
this.selectedKunde = clients.First();
|
||||
//this.selectedKunde = selectedKunde;
|
||||
|
||||
|
||||
|
||||
List<Projekt> 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<Projekt> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Grid.Column="0">
|
||||
<Button Content="Kunden" Name="btnKunden" Click="btnKunden_Click" />
|
||||
<Button Content="Projekte" Name="btnProjekte" />
|
||||
<Button Content="Projekte" Name="btnProjekte" Click="btnProjekte_Click" />
|
||||
<Button Content="Baustellen" Name="btnBaustellen" />
|
||||
<Button Content="Objekte" Name="btnObjekte" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -27,6 +27,8 @@ namespace KanSan
|
||||
{
|
||||
UI.UCKundeEdit UCKundeEdit;
|
||||
UI.UCKundeList UCKundeList;
|
||||
UI.UCProjektList UCProjektList;
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -36,6 +38,20 @@ namespace KanSan
|
||||
UCKundeList.KundeAdded += UCKundeList_KundeAdded;
|
||||
UCKundeList.KundeSelect += UCKundeList_KundeSelect;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void UCProjektList_ProjektAdded(object sender, UI.SelectProjektEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void UCProjektList_ProjektSelected(object sender, UI.SelectProjektEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void UCKundeList_KundeSelect(object sender, UI.KundeAddedKlickEventArgs e)
|
||||
@@ -53,6 +69,16 @@ namespace KanSan
|
||||
{
|
||||
ContentController.Content = UCKundeList;
|
||||
}
|
||||
|
||||
private void btnProjekte_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Kunde client = (DataContext as MainWindowViewModel).SelectedKunde;
|
||||
if (client == null) return;
|
||||
UCProjektList = new UI.UCProjektList(client);
|
||||
UCProjektList.ProjektSelected += UCProjektList_ProjektSelected;
|
||||
UCProjektList.ProjektAdded += UCProjektList_ProjektAdded;
|
||||
ContentController.Content = UCProjektList;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
34
KanSan/SampleData/KundeListViewModelSampleData.cs
Normal file
34
KanSan/SampleData/KundeListViewModelSampleData.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using KanSan.Base.Interfaces.UI;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.SampleData
|
||||
{
|
||||
public class KundeListViewModelSampleData : IKundenListViewModel
|
||||
{
|
||||
private readonly List<Kunde> kunden = new List<Kunde>();
|
||||
public List<Kunde> Kunden => kunden;
|
||||
|
||||
public KundeListViewModelSampleData()
|
||||
{
|
||||
kunden.Add(new Kunde()
|
||||
{
|
||||
Vorname = "Damian",
|
||||
Nachname = "Bodde",
|
||||
Ort = "Papenburg",
|
||||
PLZ = "26871",
|
||||
Strasse = "Barenbergstraße",
|
||||
});
|
||||
kunden.Add(new Kunde()
|
||||
{
|
||||
Vorname = "Cynthia",
|
||||
Nachname = "Schreuder",
|
||||
Ort = "Geeeste",
|
||||
PLZ = "49744",
|
||||
Strasse = "Wiesenstraße 54a"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,13 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:sd ="clr-namespace:KanSan.SampleData"
|
||||
xmlns:local="clr-namespace:KanSan.UI"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<d:UserControl.DataContext>
|
||||
<sd:KundeListViewModelSampleData />
|
||||
</d:UserControl.DataContext>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
|
||||
@@ -23,10 +23,11 @@ namespace KanSan.UI
|
||||
public event EventHandler<SelectProjektEventArgs> ProjektAdded;
|
||||
public event EventHandler<SelectProjektEventArgs> ProjektEdited;
|
||||
public event EventHandler<SelectProjektEventArgs> ProjektSelected;
|
||||
public UCProjektList()
|
||||
|
||||
public UCProjektList(Kunde selectedKunde)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.DataContext = new ProjektListViewModel();
|
||||
this.DataContext = new ProjektListViewModel(selectedKunde);
|
||||
}
|
||||
|
||||
private void ProjektSelect_Click(object sender, RoutedEventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user