Kundenedit hinzugefügt

Neue Kunden werden gleich zur Editseite weitergeleitet

Kunden können gelöscht werden
This commit is contained in:
HuskyTeufel
2021-08-31 12:25:27 +02:00
parent 7911a44f2f
commit c66751ddc5
9 changed files with 76 additions and 90 deletions

View File

@@ -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");
}
}
}

View File

@@ -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();
}
}
}