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 ProjektListViewModel : BaseViewModel, IProjektListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); private List projektevonKunde; public List ProjekteVomKunde { get { return projektevonKunde; } } private Kunde selectedKunde; public ICommand NewProjekt { get; set; } public ICommand EditProjekt { get; set; } public ICommand SelectProjekt { get; set; } public Projekt SelectedProjekt { get; set; } public ProjektListViewModel(Kunde client) { this.selectedKunde = client; projektevonKunde = unitOfWork.ProjekteRepository.Get(x => x.Kunde.Equals(client)).ToList(); EditProjekt = new RelayCommand(parameter => EditSelectedProjekt()); NewProjekt = new RelayCommand(parameter => AddNewProjekt()); } private void AddNewProjekt() { Projekt newProj = NeueProjekt(); Mediator.Notify("GoToEditProjektScreen", newProj); } private void EditSelectedProjekt() { Mediator.Notify("GoToEditProjektScreen", SelectedProjekt); } public Projekt NeueProjekt() { Projekt newProjekt = new Projekt() { GuidNr = Guid.NewGuid(), Kunde = selectedKunde }; unitOfWork.ProjekteRepository.Update(newProjekt); //unitOfWork.ProjekteRepository.Insert(newProjekt); unitOfWork.Commit(); return newProjekt; } } }