Esempio n. 1
0
 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);
 }