Files
Kansan/KanSan.ViewModel/Kunden/KundenListViewModel.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

73 lines
1.8 KiB
C#

using KanSan.Base;
using KanSan.Base.Interfaces;
using KanSan.Base.Interfaces.UI;
using KanSan.Base.Models;
using KanSan.ViewModel.Commands;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Input;
namespace KanSan.ViewModel
{
public class KundenListViewModel : BaseViewModel, IKundenListViewModel
{
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
{
get
{
return kunden;
}
}
public KundenListViewModel()
{
kunden = unitOfWork.KundenRepository.Get().ToList();
AddNewClientCommand = new RelayCommand(parameter => NewClient());
EditClientCommand = new RelayCommand(parameter => EditClient());
}
private void NewClient()
{
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;
}
}
}