73 lines
1.8 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|