Projekte integration angefangen
This commit is contained in:
@@ -27,6 +27,7 @@ namespace KanSan.ViewModel
|
||||
}
|
||||
public ICommand AddNewClientCommand { get; set; }
|
||||
public ICommand EditClientCommand { get; set; }
|
||||
public ICommand SelectClientCommand { get; set; }
|
||||
|
||||
public List<Kunde> Kunden
|
||||
{
|
||||
@@ -42,6 +43,13 @@ namespace KanSan.ViewModel
|
||||
|
||||
AddNewClientCommand = new RelayCommand(parameter => NewClient());
|
||||
EditClientCommand = new RelayCommand(parameter => EditClient());
|
||||
SelectClientCommand = new RelayCommand(parameter => SelectClient());
|
||||
}
|
||||
|
||||
private void SelectClient()
|
||||
{
|
||||
if (selectedKunde == null) return;
|
||||
Mediator.Notify("ClientSelected", selectedKunde);
|
||||
}
|
||||
|
||||
private void NewClient()
|
||||
|
||||
@@ -243,9 +243,25 @@ namespace KanSan.ViewModel
|
||||
|
||||
Mediator.Subscribe("GoToListClientScreen", OnGoToListClientScreen);
|
||||
Mediator.Subscribe("GoToEditClientScreen", OnGoToEditClientScreen);
|
||||
Mediator.Subscribe("ClientSelected", OnSelectedClient);
|
||||
|
||||
Mediator.Subscribe("GoToEditProjektScreen", OnGoToEditProjektScreen);
|
||||
|
||||
}
|
||||
|
||||
private void OnGoToEditProjektScreen(object obj)
|
||||
{
|
||||
if (!(obj is Projekt)) return;
|
||||
ActualViewModel = new ProjektEditViewModel((obj as Projekt));
|
||||
}
|
||||
|
||||
private void OnSelectedClient(object obj)
|
||||
{
|
||||
if (!(obj is Kunde)) return;
|
||||
SelectedKunde = (obj as Kunde);
|
||||
ListProjekte();
|
||||
}
|
||||
|
||||
private void OnGoToEditClientScreen(object obj)
|
||||
{
|
||||
if (!(obj is Kunde)) return;
|
||||
@@ -278,7 +294,10 @@ namespace KanSan.ViewModel
|
||||
|
||||
private void ListProjekte()
|
||||
{
|
||||
ActualViewModel = new ProjektListViewModel(SelectedKunde);
|
||||
if (SelectedKunde == null)
|
||||
ActualViewModel = new KundenListViewModel();
|
||||
else
|
||||
ActualViewModel = new ProjektListViewModel(SelectedKunde);
|
||||
}
|
||||
|
||||
private void ListBaustellen()
|
||||
|
||||
@@ -2,10 +2,13 @@
|
||||
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
|
||||
{
|
||||
@@ -22,26 +25,38 @@ namespace KanSan.ViewModel
|
||||
}
|
||||
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());
|
||||
}
|
||||
|
||||
public void SelectProjekt()
|
||||
private void AddNewProjekt()
|
||||
{
|
||||
Projekt newProj = NeueProjekt();
|
||||
Mediator.Notify("GoToEditProjektScreen", newProj);
|
||||
}
|
||||
|
||||
private void EditSelectedProjekt()
|
||||
{
|
||||
Mediator.Notify("GoToEditProjektScreen", SelectedProjekt);
|
||||
}
|
||||
|
||||
public Projekt NeueProjekt()
|
||||
{
|
||||
Guid guid = Guid.NewGuid();
|
||||
Projekt newProjekt = new Projekt()
|
||||
{
|
||||
GuidNr = guid,
|
||||
GuidNr = Guid.NewGuid(),
|
||||
Kunde = selectedKunde
|
||||
};
|
||||
|
||||
@@ -49,9 +64,7 @@ namespace KanSan.ViewModel
|
||||
//unitOfWork.ProjekteRepository.Insert(newProjekt);
|
||||
unitOfWork.Commit();
|
||||
|
||||
List<Projekt> res = unitOfWork.ProjekteRepository.Get(x => x.GuidNr.Equals(guid)).ToList();
|
||||
if (res.Count < 1) throw new Exception("Der zuvor eingefügte Projekt konnte nicht in der Datenbank gefunden werden");
|
||||
return res.First();
|
||||
return newProjekt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user