public void AngenommenDieFolgendenKenngroessenFruehererJahreExistieren(Table table) { foreach (var item in table.Rows.GroupBy(i => new { Jahr = i["Jahr"], Madndat = i["Mandant"] })) { using (var nhScope = new NHibernateSpecflowScope()) { var main = new KenngroessenFruehererJahre() { Jahr = int.Parse(item.Key.Jahr), Mandant = nhScope.Session.Query <Mandant>().Single(m => m.MandantName == item.Key.Madndat), }; if (item.First().ContainsKey("KostenFuerWerterhaltung")) { main.KostenFuerWerterhaltung = decimal.Parse(item.First()["KostenFuerWerterhaltung"]); } nhScope.Session.Save(main); foreach (var row in item) { var d = new KenngroessenFruehererJahreDetail(); d.Belastungskategorie = nhScope.Session.Query <Belastungskategorie>().ToArray().Single(i => i.Typ == row["Belastungskategorie"]); d.MittlererZustand = decimal.Parse(row["MittlererZustand"]); d.Fahrbahnlaenge = decimal.Parse(row["Fahrbahnlaenge"]); d.Fahrbahnflaeche = int.Parse(row["Fahrbahnflaeche"]); d.KenngroessenFruehererJahre = main; nhScope.Session.Save(d); } } } }
private void CalculatePosForKenngroessenFruehererJahre(ErfassungsPeriod erfassungsPeriod, KenngroessenFruehererJahre kenngroessenFruehererJahre, JahresInterval jahresInterval) { var diagramPo = new RealisiertenMassnahmenWertverlustZustandsindexProJahrGrafischeDiagramPo() { JahrVon = jahresInterval.JahrVon, JahrBis = jahresInterval.JahrBis, WertVerlust = kenngroessenFruehererJahre.KenngroesseFruehereJahrDetails.Sum(d => (GetWiederbeschaffungswert(d, wiederbeschaffungswertKatalogService.GetWiederbeschaffungswertKatalogModel(d.Belastungskategorie, erfassungsPeriod)) * wiederbeschaffungswertKatalogService.GetWiederbeschaffungswertKatalogModel(d.Belastungskategorie, erfassungsPeriod).AlterungsbeiwertII / 100) / 1000m), MittlererZustandindex = kenngroessenFruehererJahre.KenngroesseFruehereJahrDetails.Average(d => d.MittlererZustand) ?? 0, RealisierteMassnahmen = kenngroessenFruehererJahre.KostenFuerWerterhaltung / 1000m }; EnsureJahrInPoLists(jahresInterval); diagramPos[jahresInterval.JahrBis].Add(diagramPo); CalculateTablePos(jahresInterval, diagramPo); }
private void CalculatePosForKenngroessenFruehererJahre(ErfassungsPeriod erfassungsPeriod, KenngroessenFruehererJahre kenngroessenFruehererJahre, JahresInterval jahresInterval) { CalculatePosForJahr(erfassungsPeriod, kenngroessenFruehererJahre.KenngroesseFruehereJahrDetails.ToList(), jahresInterval, GetWiederbeschaffungswert, kgfjd => kgfjd.Belastungskategorie, kfjd => kfjd.Fahrbahnflaeche); }