Kundenedit hinzugefügt
Neue Kunden werden gleich zur Editseite weitergeleitet Kunden können gelöscht werden
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
using KanSan.Base;
|
||||
using KanSan.Base.Interfaces;
|
||||
using KanSan.Base.Models;
|
||||
using KanSan.ViewModel.Commands;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace KanSan.ViewModel
|
||||
{
|
||||
@@ -20,6 +23,9 @@ namespace KanSan.ViewModel
|
||||
private string plz;
|
||||
private string ort;
|
||||
|
||||
public ICommand SaveClient { get; set; }
|
||||
public ICommand RemoveClient { get; set; }
|
||||
|
||||
#region getters
|
||||
public string Vorname
|
||||
{
|
||||
@@ -88,22 +94,30 @@ namespace KanSan.ViewModel
|
||||
}
|
||||
#endregion
|
||||
|
||||
public KundenEditViewModel(Kunde kunde = null)
|
||||
public KundenEditViewModel(Kunde kunde)
|
||||
{
|
||||
if (kunde == null)
|
||||
_kunde = unitOfWork.KundenRepository.Get().First();
|
||||
else
|
||||
_kunde = kunde;
|
||||
_kunde = kunde;
|
||||
|
||||
vorname = _kunde.Vorname;
|
||||
nachname = _kunde.Nachname;
|
||||
strasse = _kunde.Strasse;
|
||||
plz = _kunde.PLZ;
|
||||
ort = _kunde.Ort;
|
||||
|
||||
SaveClient = new RelayCommand(parameter => Speichern());
|
||||
RemoveClient = new RelayCommand(parameter => Remove());
|
||||
}
|
||||
|
||||
public void Speichern()
|
||||
private void Remove()
|
||||
{
|
||||
unitOfWork.KundenRepository.Delete(_kunde);
|
||||
unitOfWork.Commit();
|
||||
Mediator.Notify("GoToListClientScreen");
|
||||
}
|
||||
|
||||
private void Speichern()
|
||||
{
|
||||
Trace.WriteLine("Speichere");
|
||||
_kunde.Vorname = Vorname;
|
||||
_kunde.Nachname = Nachname;
|
||||
_kunde.Strasse = Strasse;
|
||||
@@ -112,6 +126,7 @@ namespace KanSan.ViewModel
|
||||
|
||||
unitOfWork.KundenRepository.Update(_kunde);
|
||||
unitOfWork.Commit();
|
||||
Mediator.Notify("GoToListClientScreen");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,16 @@ namespace KanSan.ViewModel
|
||||
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
||||
private List<Kunde> kunden;
|
||||
|
||||
private Kunde selectedKunde;
|
||||
public Kunde SelectedKunde {
|
||||
get { return selectedKunde; }
|
||||
set {
|
||||
selectedKunde = value;
|
||||
|
||||
}
|
||||
}
|
||||
public ICommand AddNewClientCommand { get; set; }
|
||||
public ICommand EditClientCommand { get; set; }
|
||||
|
||||
public List<Kunde> Kunden
|
||||
{
|
||||
@@ -31,23 +40,33 @@ namespace KanSan.ViewModel
|
||||
{
|
||||
kunden = unitOfWork.KundenRepository.Get().ToList();
|
||||
|
||||
AddNewClientCommand = new RelayCommand(parameter => NeueKunde());
|
||||
AddNewClientCommand = new RelayCommand(parameter => NewClient());
|
||||
EditClientCommand = new RelayCommand(parameter => EditClient());
|
||||
}
|
||||
|
||||
public Kunde NeueKunde()
|
||||
private void NewClient()
|
||||
{
|
||||
Kunde result = new Kunde();
|
||||
//result.ID = 1;
|
||||
result.GuidNr = Guid.NewGuid();
|
||||
Kunde newClient = NeueKunde();
|
||||
Mediator.Notify("GoToEditClientScreen", newClient);
|
||||
}
|
||||
|
||||
private void EditClient()
|
||||
{
|
||||
if (SelectedKunde == null) return;
|
||||
Mediator.Notify("GoToEditClientScreen",selectedKunde);
|
||||
|
||||
}
|
||||
|
||||
private Kunde NeueKunde()
|
||||
{
|
||||
Kunde result = new Kunde()
|
||||
{
|
||||
GuidNr = Guid.NewGuid()
|
||||
};
|
||||
|
||||
unitOfWork.KundenRepository.Insert(result);
|
||||
unitOfWork.Commit();
|
||||
return result;
|
||||
|
||||
//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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,11 +241,19 @@ namespace KanSan.ViewModel
|
||||
ListBaustellenCommand = new RelayCommand(paramter => ListBaustellen());
|
||||
ListObjectsCommand = new RelayCommand(parameter => ListObjekte());
|
||||
|
||||
Mediator.Subscribe("GoTo1Screen", OnGo1Screen);
|
||||
Mediator.Subscribe("GoToListClientScreen", OnGoToListClientScreen);
|
||||
Mediator.Subscribe("GoToEditClientScreen", OnGoToEditClientScreen);
|
||||
|
||||
}
|
||||
|
||||
private void OnGo1Screen(object obj)
|
||||
private void OnGoToEditClientScreen(object obj)
|
||||
{
|
||||
if (!(obj is Kunde)) return;
|
||||
Kunde client = (obj as Kunde);
|
||||
EditClient(client);
|
||||
}
|
||||
|
||||
private void OnGoToListClientScreen(object obj)
|
||||
{
|
||||
ListClients();
|
||||
}
|
||||
@@ -263,6 +271,10 @@ namespace KanSan.ViewModel
|
||||
{
|
||||
ActualViewModel = new KundenListViewModel();
|
||||
}
|
||||
private void EditClient(Kunde client)
|
||||
{
|
||||
ActualViewModel = new KundenEditViewModel(client);
|
||||
}
|
||||
|
||||
private void ListProjekte()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user