Files
Kansan/KanSan.ViewModel/Objekte/ObjekteListViewModel.cs
2020-03-19 09:58:59 +01:00

61 lines
1.9 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 ObjekteTransfer
{
public string Strassename { get; set; }
public IEnumerable<Sewer> Objekte { get; set; }
}
public class ObjekteListViewModel
{
IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext());
List<ObjekteTransfer> kanalObjekte = new List<ObjekteTransfer>();
private Baustelle selectedBaustelle;
public List<ObjekteTransfer> KanalObjekte => kanalObjekte;
public ObjekteListViewModel(Baustelle selectedBaustelle)
{
this.selectedBaustelle = selectedBaustelle;
//
List<Sewer> list = unitOfWork.KanaeleRepository.Get(x => x.Baustelle.Equals(selectedBaustelle),includeProperties:"PunktOben,PunktUnten").ToList();
var x = list.GroupBy(x => x.StrasseName).Select(x => new ObjekteTransfer
{
Strassename = x.Key,
Objekte = x
}).ToList();
kanalObjekte = x;
//kanalObjekte = unitOfWork.KanaeleRepository.Get(x => x.Baustelle.Equals(selectedBaustelle)).ToList();
}
public Sewer NeueObjektHinzufügen()
{
Guid guid = Guid.NewGuid();
Sewer sewer = new Sewer()
{
Baustelle = selectedBaustelle,
GuidNr = guid
};
unitOfWork.KanaeleRepository.Update(sewer);
unitOfWork.Commit();
List<Sewer> t = unitOfWork.KanaeleRepository.Get(x => x.GuidNr.Equals(guid)).ToList();
if(t.Count < 1) throw new Exception("Der zuvor eingefügte Objekt konnte nicht in der Datenbank gefunden werden");
return t.First();
}
}
}