Files
Kansan/KanSan.ViewModel/Kunden/KundenEditViewModel.cs
HuskyTeufel c66751ddc5 Kundenedit hinzugefügt
Neue Kunden werden gleich zur Editseite weitergeleitet

Kunden können gelöscht werden
2021-08-31 12:25:27 +02:00

133 lines
3.2 KiB
C#

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
{
public class KundenEditViewModel : BaseViewModel, 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;
public ICommand SaveClient { get; set; }
public ICommand RemoveClient { get; set; }
#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)
{
_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());
}
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;
_kunde.Ort = Ort;
_kunde.PLZ = PLZ;
unitOfWork.KundenRepository.Update(_kunde);
unitOfWork.Commit();
Mediator.Notify("GoToListClientScreen");
}
}
}