Files
Kansan/KanSan.ViewModel/Schaeden/SchaedenListViewModel.cs
2020-03-29 15:54:58 +02:00

45 lines
1.4 KiB
C#

using KanSan.Base;
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 SchaedenListViewModel : ISchaedenListViewModel
{
private Sewer actualSelectedSewer;
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
private List<Schaeden> schaeden;
public List<Schaeden> Schaeden { get => schaeden; }
public SchaedenListViewModel(Sewer actualSelectedSewer)
{
this.actualSelectedSewer = actualSelectedSewer;
schaeden = unitOfWork.SchaedenRepository.Get(x => x.Sewer.Equals(actualSelectedSewer)).ToList();
}
public Schaeden NeueSchaden()
{
Guid guid = Guid.NewGuid();
Schaeden neueSchaden = new Schaeden()
{
GuidNr = guid,
Sewer = actualSelectedSewer
};
unitOfWork.SchaedenRepository.Update(neueSchaden,false);
unitOfWork.Commit();
List<Schaeden> res = unitOfWork.SchaedenRepository.Get(x => x.GuidNr.Equals(guid)).ToList();
if (res.Count < 1) throw new Exception("Der zuvor eingefügte Schäden konnte nicht gefunden werden");
return res.First();
}
}
}