private void CalculatePos(Parameter parameter) { List <ErfassungsPeriod> erfassungsPeriodList = ErfassungsPeriodService.GetErfassungsPeriods(parameter.ErfassungsPeriodIdVon, parameter.ErfassungsPeriodIdBis).ToList(); for (int i = 0; i < erfassungsPeriodList.Count; i++) { var erfassungsPeriod = erfassungsPeriodList[i]; var jahresInterval = jahresIntervalService.CalculateFromErfassungsPeriodList(erfassungsPeriod, erfassungsPeriodList); switch (erfassungsPeriod.NetzErfassungsmodus) { case NetzErfassungsmodus.Summarisch: continue; case NetzErfassungsmodus.Tabellarisch: var zustandsabschnittList = filtererFactory .CreateFilterer <Zustandsabschnitt>(parameter) .Filter(transactionScopeProvider.Queryable <Zustandsabschnitt>().Where(za => za.Strassenabschnitt.ErfassungsPeriod == erfassungsPeriod)) .Fetch(s => s.Strassenabschnitt) .ToArray(); CalculatePosForErfassungsPeriod <Zustandsabschnitt, Strassenabschnitt>(zustandsabschnittList, jahresInterval, erfassungsPeriod); break; case NetzErfassungsmodus.Gis: var zustandsabschnittGisList = filtererFactory .CreateFilterer <ZustandsabschnittGIS>(parameter) .Filter(transactionScopeProvider.Queryable <ZustandsabschnittGIS>().Where(za => za.StrassenabschnittGIS.ErfassungsPeriod == erfassungsPeriod)) .Fetch(s => s.StrassenabschnittGIS) .ToArray(); CalculatePosForErfassungsPeriod <ZustandsabschnittGIS, StrassenabschnittGIS>(zustandsabschnittGisList, jahresInterval, erfassungsPeriod); break; default: throw new ArgumentOutOfRangeException("NetzErfassungsmodus"); } } }
private void CalculatePos(Parameter parameter) { int jahrVon = GetJahr(parameter.JahrIdVon); int jahrBis = GetJahr(parameter.JahrIdBis); var kenngroessenFruehererJahreList = kenngroessenFruehererJahreService.GetKenngroessenFruehererJahren(jahrVon, jahrBis); var erfassungsPeriodList = ErfassungsPeriodService.GetErfassungsPeriods(jahrVon, jahrBis); //If there is a Filter for not supported Field, Skip year if (parameter.Eigentuemer == null) { for (int i = 0; i < kenngroessenFruehererJahreList.Count; i++) { var kenngroessenFruehererJahre = kenngroessenFruehererJahreList[i]; int erfassungsJahrVon = kenngroessenFruehererJahre.Jahr; int erfassungsJahrBis; if (kenngroessenFruehererJahre == kenngroessenFruehererJahreList.Last()) { erfassungsJahrBis = erfassungsPeriodList.Any() ? erfassungsPeriodList.First().Erfassungsjahr.Year - 1 : erfassungsJahrVon; } else { erfassungsJahrBis = kenngroessenFruehererJahreList[i + 1].Jahr - 1; } CalculatePosForKenngroessenFruehererJahre(ErfassungsPeriodService.GetCurrentErfassungsPeriod(), kenngroessenFruehererJahre, new JahresInterval(erfassungsJahrVon, erfassungsJahrBis)); } } for (int i = 0; i < erfassungsPeriodList.Count; i++) { var erfassungsPeriod = erfassungsPeriodList[i]; var jahresInterval = jahresIntervalService.CalculateFromErfassungsPeriodList(erfassungsPeriod, erfassungsPeriodList); switch (erfassungsPeriod.NetzErfassungsmodus) { case NetzErfassungsmodus.Summarisch: //If there is a Filter for not supported Field, Skip year if (parameter.Eigentuemer != null) { continue; } var netzSummarischDetailList = netzSummarischDetailService.GetEntitiesBy(erfassungsPeriod).Fetch(nsd => nsd.Belastungskategorie).ToList(); CalculatePosForSummarischeModus(erfassungsPeriod, netzSummarischDetailList, jahresInterval); break; case NetzErfassungsmodus.Tabellarisch: var strassenabschnittList = transactionScopeProvider.Queryable <Strassenabschnitt>().Where(sa => sa.ErfassungsPeriod == erfassungsPeriod); CalculatePosForStrassenModus(erfassungsPeriod, strassenabschnittList, parameter, jahresInterval); break; case NetzErfassungsmodus.Gis: var strassenabschnittGisList = transactionScopeProvider.Queryable <StrassenabschnittGIS>().Where(sa => sa.ErfassungsPeriod == erfassungsPeriod); CalculatePosForStrassenModus(erfassungsPeriod, strassenabschnittGisList, parameter, jahresInterval); break; default: throw new ArgumentOutOfRangeException("NetzErfassungsmodus"); } } }
private void CalculatePos(RealisiertenMassnahmenWertverlustZustandsindexProJahrGrafischeParameter parameter) { int jahrVon = GetJahr(parameter.JahrIdVon); int jahrBis = GetJahr(parameter.JahrIdBis); var kenngroessenFruehererJahreList = kenngroessenFruehererJahreService.GetKenngroessenFruehererJahren(jahrVon, jahrBis); var erfassungsPeriodList = ErfassungsPeriodService.GetErfassungsPeriods(jahrVon, jahrBis); //If there is a Filter for not supported Field, Skip year if (parameter.Eigentuemer == null) { for (int i = 0; i < kenngroessenFruehererJahreList.Count; i++) { var kenngroessenFruehererJahre = kenngroessenFruehererJahreList[i]; int erfassungsJahrVon = kenngroessenFruehererJahre.Jahr; int erfassungsJahrBis; if (kenngroessenFruehererJahre == kenngroessenFruehererJahreList.Last()) { erfassungsJahrBis = erfassungsPeriodList.Any() ? erfassungsPeriodList.First().Erfassungsjahr.Year - 1 : erfassungsJahrVon; } else { erfassungsJahrBis = kenngroessenFruehererJahreList[i + 1].Jahr - 1; } CalculatePosForKenngroessenFruehererJahre(ErfassungsPeriodService.GetCurrentErfassungsPeriod(), kenngroessenFruehererJahre, new JahresInterval(erfassungsJahrVon, erfassungsJahrBis)); } } for (int i = 0; i < erfassungsPeriodList.Count; i++) { var erfassungsPeriod = erfassungsPeriodList[i]; var jahresInterval = jahresIntervalService.CalculateFromErfassungsPeriodList(erfassungsPeriod, erfassungsPeriodList); switch (erfassungsPeriod.NetzErfassungsmodus) { case NetzErfassungsmodus.Summarisch: //If there is a Filter for not supported Field, Skip year if (parameter.Eigentuemer != null) { continue; } CalculatePosForSummarischeModus(erfassungsPeriod, jahresInterval); break; case NetzErfassungsmodus.Tabellarisch: CalculatePosForStrassenModus(erfassungsPeriod, parameter, jahresInterval); break; case NetzErfassungsmodus.Gis: CalculatePosForStrassenModusGIS(erfassungsPeriod, parameter, jahresInterval); break; default: throw new ArgumentOutOfRangeException("NetzErfassungsmodus"); } } }