73 lines
2.4 KiB
C#
73 lines
2.4 KiB
C#
using KanSan.Base;
|
|
using KanSan.Base.Enums;
|
|
using KanSan.Base.Interfaces;
|
|
using KanSan.Base.Interfaces.UI;
|
|
using KanSan.Base.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace KanSan.ViewModel
|
|
{
|
|
public class SanierungskonzeptListViewModel : ISanierungskonzeptListViewModel
|
|
{
|
|
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
|
|
private bool canAddNewSan = true;
|
|
Sanierungskonzept sanKonzept;
|
|
private ESanierung sanierung;
|
|
private Schaeden schaden;
|
|
private List<Taetigkeiten> taetigkeiten = new List<Taetigkeiten>();
|
|
public ESanierung Sanierung => sanierung;
|
|
public bool CanAddNewSan => canAddNewSan;
|
|
|
|
|
|
public List<Taetigkeiten> Taetigkeiten => taetigkeiten;
|
|
|
|
public SanierungskonzeptListViewModel(Schaeden schaden)
|
|
{
|
|
//this.schaden = schaden;
|
|
|
|
var d = unitOfWork.SchaedenRepository.Get(x => x.GuidNr.Equals(schaden.GuidNr),includeProperties: "Sanierungskonzept").First();
|
|
canAddNewSan = (d.Sanierungskonzept == null);
|
|
this.schaden = d;
|
|
if (!canAddNewSan)
|
|
{
|
|
sanierung = d.Sanierungskonzept.SanierungsTyp;
|
|
sanKonzept = unitOfWork.SanierungskonzeptRepository.Get(x => x.GuidNr.Equals(d.Sanierungskonzept.GuidNr),includeProperties: "Taetigkeiten,Taetigkeiten.LeistungsverzeichnisPosition").FirstOrDefault();
|
|
taetigkeiten = sanKonzept.Taetigkeiten;
|
|
}
|
|
}
|
|
|
|
public Taetigkeiten NeueTaetigkeit()
|
|
{
|
|
Guid guid = Guid.NewGuid();
|
|
Taetigkeiten taetigkeiten = new Taetigkeiten()
|
|
{
|
|
Sanierungskonzept = this.sanKonzept,
|
|
GuidNr = guid
|
|
};
|
|
sanKonzept.Taetigkeiten.Add(taetigkeiten);
|
|
unitOfWork.SanierungskonzeptRepository.Update(sanKonzept);
|
|
unitOfWork.Commit();
|
|
|
|
return taetigkeiten;
|
|
}
|
|
|
|
public Sanierungskonzept NeueSanierungskonzept()
|
|
{
|
|
Guid guid = Guid.NewGuid();
|
|
Sanierungskonzept san = new Sanierungskonzept()
|
|
{
|
|
GuidNr = guid,
|
|
};
|
|
|
|
schaden.Sanierungskonzept = san;
|
|
unitOfWork.SchaedenRepository.Update(schaden);
|
|
unitOfWork.Commit();
|
|
|
|
return san;
|
|
}
|
|
}
|
|
}
|