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 Objekte { get; set; } } public class ObjekteListViewModel { IUnitOfWork unitOfWork = new UnitOfWork(new KanSanContext()); List kanalObjekte = new List(); private Baustelle selectedBaustelle; public List KanalObjekte => kanalObjekte; public ObjekteListViewModel(Baustelle selectedBaustelle) { this.selectedBaustelle = selectedBaustelle; // List list = unitOfWork.KanaeleRepository.Get(x => x.Baustelle.Equals(selectedBaustelle)).ToList(); var my = unitOfWork.KanaeleRepository.Include(c => c.PunktOben); 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 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(); } } }