78 lines
2.2 KiB
C#
78 lines
2.2 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 ProjektListViewModel : BaseViewModel, IProjektListViewModel
|
|
{
|
|
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
|
private List<Projekt> projektevonKunde;
|
|
public List<Projekt> 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();
|
|
|
|
SelectProjekt = new RelayCommand(parameter => SelectActualProjekt());
|
|
EditProjekt = new RelayCommand(parameter => EditSelectedProjekt());
|
|
NewProjekt = new RelayCommand(parameter => AddNewProjekt());
|
|
}
|
|
|
|
private void SelectActualProjekt()
|
|
{
|
|
if (SelectedProjekt == null) return;
|
|
Mediator.Notify("ProjektSelected", SelectedProjekt);
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|