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;
|
||||||
using KanSan.Base.Interfaces;
|
using KanSan.Base.Interfaces;
|
||||||
|
using KanSan.Base.Interfaces.UI;
|
||||||
using KanSan.Base.Models;
|
using KanSan.Base.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -9,7 +10,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace KanSan.ViewModel
|
namespace KanSan.ViewModel
|
||||||
{
|
{
|
||||||
public class KundenListViewModel
|
public class KundenListViewModel : IKundenListViewModel
|
||||||
{
|
{
|
||||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||||
private List<Kunde> kunden;
|
private List<Kunde> kunden;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using KanSan.Base.Interfaces;
|
|||||||
using KanSan.Base.Models;
|
using KanSan.Base.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace KanSan.ViewModel
|
namespace KanSan.ViewModel
|
||||||
@@ -10,6 +11,18 @@ namespace KanSan.ViewModel
|
|||||||
public class ProjektListViewModel
|
public class ProjektListViewModel
|
||||||
{
|
{
|
||||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
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()
|
public void SelectProjekt()
|
||||||
{
|
{
|
||||||
@@ -18,7 +31,19 @@ namespace KanSan.ViewModel
|
|||||||
|
|
||||||
public Projekt NeueProjekt()
|
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>
|
</Grid.RowDefinitions>
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<Button Content="Kunden" Name="btnKunden" Click="btnKunden_Click" />
|
<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="Baustellen" Name="btnBaustellen" />
|
||||||
<Button Content="Objekte" Name="btnObjekte" />
|
<Button Content="Objekte" Name="btnObjekte" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ namespace KanSan
|
|||||||
{
|
{
|
||||||
UI.UCKundeEdit UCKundeEdit;
|
UI.UCKundeEdit UCKundeEdit;
|
||||||
UI.UCKundeList UCKundeList;
|
UI.UCKundeList UCKundeList;
|
||||||
|
UI.UCProjektList UCProjektList;
|
||||||
|
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -36,6 +38,20 @@ namespace KanSan
|
|||||||
UCKundeList.KundeAdded += UCKundeList_KundeAdded;
|
UCKundeList.KundeAdded += UCKundeList_KundeAdded;
|
||||||
UCKundeList.KundeSelect += UCKundeList_KundeSelect;
|
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)
|
private void UCKundeList_KundeSelect(object sender, UI.KundeAddedKlickEventArgs e)
|
||||||
@@ -53,6 +69,16 @@ namespace KanSan
|
|||||||
{
|
{
|
||||||
ContentController.Content = UCKundeList;
|
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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:sd ="clr-namespace:KanSan.SampleData"
|
||||||
xmlns:local="clr-namespace:KanSan.UI"
|
xmlns:local="clr-namespace:KanSan.UI"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="450" d:DesignWidth="800">
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
|
<d:UserControl.DataContext>
|
||||||
|
<sd:KundeListViewModelSampleData />
|
||||||
|
</d:UserControl.DataContext>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
|
|||||||
@@ -23,10 +23,11 @@ namespace KanSan.UI
|
|||||||
public event EventHandler<SelectProjektEventArgs> ProjektAdded;
|
public event EventHandler<SelectProjektEventArgs> ProjektAdded;
|
||||||
public event EventHandler<SelectProjektEventArgs> ProjektEdited;
|
public event EventHandler<SelectProjektEventArgs> ProjektEdited;
|
||||||
public event EventHandler<SelectProjektEventArgs> ProjektSelected;
|
public event EventHandler<SelectProjektEventArgs> ProjektSelected;
|
||||||
public UCProjektList()
|
|
||||||
|
public UCProjektList(Kunde selectedKunde)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.DataContext = new ProjektListViewModel();
|
this.DataContext = new ProjektListViewModel(selectedKunde);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ProjektSelect_Click(object sender, RoutedEventArgs e)
|
private void ProjektSelect_Click(object sender, RoutedEventArgs e)
|
||||||
|
|||||||
Reference in New Issue
Block a user