ViewModels in eigene DLL gepackt
This commit is contained in:
11
KanSan.ViewModel/KanSan.ViewModel.csproj
Normal file
11
KanSan.ViewModel/KanSan.ViewModel.csproj
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\KanSan.Base\KanSan.Base.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
117
KanSan.ViewModel/KundenEditViewModel.cs
Normal file
117
KanSan.ViewModel/KundenEditViewModel.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class KundenEditViewModel : PropertyChangedClass, INotifyPropertyChanged
|
||||
{
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
|
||||
private Kunde _kunde;
|
||||
private string vorname;
|
||||
private string nachname;
|
||||
private string strasse;
|
||||
private string plz;
|
||||
private string ort;
|
||||
|
||||
#region getters
|
||||
public string Vorname
|
||||
{
|
||||
get
|
||||
{
|
||||
return vorname;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (vorname == value) return;
|
||||
vorname = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string Nachname
|
||||
{
|
||||
get
|
||||
{
|
||||
return nachname;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (nachname == value) return;
|
||||
nachname = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string Strasse
|
||||
{
|
||||
get
|
||||
{
|
||||
return strasse;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (strasse == value) return;
|
||||
strasse = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string PLZ
|
||||
{
|
||||
get
|
||||
{
|
||||
return plz;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (plz == value) return;
|
||||
plz = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
public string Ort
|
||||
{
|
||||
get
|
||||
{
|
||||
return ort;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (ort == value) return;
|
||||
ort = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public KundenEditViewModel(Kunde kunde = null)
|
||||
{
|
||||
if (kunde == null)
|
||||
_kunde = unitOfWork.KundenRepository.Get().First();
|
||||
else
|
||||
_kunde = kunde;
|
||||
|
||||
vorname = _kunde.Vorname;
|
||||
nachname = _kunde.Nachname;
|
||||
strasse = _kunde.Strasse;
|
||||
plz = _kunde.PLZ;
|
||||
ort = _kunde.Ort;
|
||||
}
|
||||
|
||||
public void Speichern()
|
||||
{
|
||||
_kunde.Vorname = Vorname;
|
||||
_kunde.Nachname = Nachname;
|
||||
_kunde.Strasse = Strasse;
|
||||
_kunde.Ort = Ort;
|
||||
_kunde.PLZ = PLZ;
|
||||
|
||||
unitOfWork.KundenRepository.Update(_kunde);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
44
KanSan.ViewModel/KundenListViewModel.cs
Normal file
44
KanSan.ViewModel/KundenListViewModel.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class KundenListViewModel
|
||||
{
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
private List<Kunde> kunden;
|
||||
|
||||
public List<Kunde> Kunden
|
||||
{
|
||||
get
|
||||
{
|
||||
return kunden;
|
||||
}
|
||||
}
|
||||
|
||||
public KundenListViewModel()
|
||||
{
|
||||
kunden = unitOfWork.KundenRepository.Get().ToList();
|
||||
}
|
||||
|
||||
public Kunde NeueKunde()
|
||||
{
|
||||
Kunde result = new Kunde();
|
||||
result.GuidNr = Guid.NewGuid();
|
||||
unitOfWork.KundenRepository.Insert(result);
|
||||
unitOfWork.Commit();
|
||||
|
||||
IEnumerable<Kunde> kunden = unitOfWork.KundenRepository.Get(d => d.GuidNr.Equals(result.GuidNr));
|
||||
if (kunden.Count() < 1)
|
||||
throw new Exception("Kunde konnte nicht gefunden werden");
|
||||
|
||||
return kunden.First();
|
||||
}
|
||||
}
|
||||
}
|
||||
59
KanSan.ViewModel/ProjektViewModel.cs
Normal file
59
KanSan.ViewModel/ProjektViewModel.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class ProjektViewModel : PropertyChangedClass,INotifyPropertyChanged
|
||||
{
|
||||
private Projekt _baustelle;
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
|
||||
|
||||
private string ortTeil;
|
||||
private string baustelleNummer;
|
||||
public string OrtTeil
|
||||
{
|
||||
get
|
||||
{
|
||||
return ortTeil;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (ortTeil == value) return;
|
||||
ortTeil = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public string BaustelleNummer
|
||||
{
|
||||
get
|
||||
{
|
||||
return baustelleNummer;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (baustelleNummer == value) return;
|
||||
baustelleNummer = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ProjektViewModel()
|
||||
{
|
||||
_baustelle = unitOfWork.ProjekteRepository.Get().First();
|
||||
ortTeil = _baustelle.Ort;
|
||||
|
||||
baustelleNummer = _baustelle.Projektnummer;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
KanSan.ViewModel/PropertyChangedClass.cs
Normal file
18
KanSan.ViewModel/PropertyChangedClass.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
public class PropertyChangedClass
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected internal void OnPropertyChanged([CallerMemberName] string propertyname = null)
|
||||
{
|
||||
if (PropertyChanged != null)
|
||||
PropertyChanged(this, new PropertyChangedEventArgs(propertyname));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user