private IEnumerable <BenchmarkingData> GetBenchmarkingDataFromKenngoessen(IEnumerable <KenngroessenFruehererJahre> kenngroessenFruehererJahres)
        {
            return(kenngroessenFruehererJahres
                   .Select(
                       k =>
            {
                var mandantDetails = transactionScopeProvider.Queryable <MandantDetails>().Single(m => m.Mandant == k.Mandant && m.ErfassungsPeriod == historizationService.GetCurrentErfassungsperiod(k.Mandant));
                var kenngroessenFruehererJahreDetails = k.KenngroesseFruehereJahrDetails.ToList();

                var benchmarkingData = calculatorService.CalculateInventarBenchmarkingData(
                    historizationService.GetCurrentErfassungsperiod(k.Mandant),
                    mandantDetails,
                    kenngroessenFruehererJahreDetails,
                    d => d.Fahrbahnlaenge);

                calculatorService.CalculateZustandsBenchmarkingData(
                    benchmarkingData,
                    kenngroessenFruehererJahreDetails,
                    d => null,
                    d => d.MittlererZustand);

                calculatorService.CalculateRealisierteMassnahmenBenchmarkingData(
                    historizationService.GetCurrentErfassungsperiod(k.Mandant),
                    benchmarkingData,
                    mandantDetails,
                    kenngroessenFruehererJahreDetails,
                    kenngroessenFruehererJahreDetails);

                return benchmarkingData;
            }));
        }
 public override List <MassnahmenvorschlagKatalogOverviewModel> GetCurrentModels()
 {
     return(CreateModels(Query <MassnahmenvorschlagKatalog>().Where(
                             m => m.ErfassungsPeriod == historizationService.GetCurrentErfassungsperiod() &&
                             m.Mandant == securityService.GetCurrentMandant() &&
                             m.IsCustomized
                             ), calculateIsUsed: false).ToList());
 }
示例#3
0
        private ErfassungsPeriod GetErfassungsPeriod()
        {
            if (Parameter.ErfassungsPeriodId == null)
            {
                return(historizationService.GetCurrentErfassungsperiod());
            }

            return(erfassungsPeriodService.GetEntityById(Parameter.ErfassungsPeriodId.Value));
        }
示例#4
0
        public NetzErfassungsmodus GetNetzErfassungsmodus(Guid?erfassungsPeriodId)
        {
            NetzErfassungsmodus netzErfassungsmodus;

            if (erfassungsPeriodId.HasValue)
            {
                netzErfassungsmodus = erfassungsPeriodService.GetEntityById(erfassungsPeriodId.Value).NetzErfassungsmodus;
            }
            else
            {
                netzErfassungsmodus = historizationService.GetCurrentErfassungsperiod().NetzErfassungsmodus;
            }

            return(netzErfassungsmodus);
        }
        private ErfassungsabschlussModel CreateErfassungsabschlussModel()
        {
            var availableErfassungsabschlussen = historizationService.GetAvailableErfassungsabschlussen().OrderBy(ea => ea.AbschlussDate);
            var erfassungsabschlussModel       = availableErfassungsabschlussen.FirstOrDefault();
            var dropDownItemList = availableErfassungsabschlussen
                                   .ToDropDownItemList(ea => ea.AbschlussDate.Year, ea => ea.AbschlussDate, erfassungsabschlussModel);

            ViewBag.ErfassungsabschlussModellen = dropDownItemList;

            ErfassungsPeriod currentErfassungsperiod = historizationService.GetCurrentErfassungsperiod();

            bool isThereMissingZustandsabschnitte;

            switch (currentErfassungsperiod.NetzErfassungsmodus)
            {
            case NetzErfassungsmodus.Summarisch:
                isThereMissingZustandsabschnitte = false;
                break;

            case NetzErfassungsmodus.Tabellarisch:
                isThereMissingZustandsabschnitte = strassenabschnittService.IsThereMissingZustandsabschnitte();
                break;

            case NetzErfassungsmodus.Gis:
                isThereMissingZustandsabschnitte = strassenabschnittGisService.IsThereMissingZustandsabschnitte();
                break;

            default:
                throw new ArgumentOutOfRangeException("NetzErfassungsmodus");
            }

            ViewBag.IsThereMissingZustandsabschnitte = isThereMissingZustandsabschnitte;
            ViewBag.IsMandantenDetailsCompleted      = mandantDetailsService.GetCurrentMandantDetails().IsCompleted;
            ViewBag.AreThereLockedStrassenabschnitte = strassenabschnittGisService.AreThereLockedStrassenabschnitte();
            ViewBag.NetzErfassungsmodus        = currentErfassungsperiod.NetzErfassungsmodus;
            ViewBag.LastClosedErfassungsPeriod = erfassungsPeriodService.GetNewestClosedErfassungsPeriod();
            ViewBag.IsLastClosedYear           = erfassungsPeriodService.GetClosedErfassungsPeriodModels().Count == 1;

            if (currentErfassungsperiod.NetzErfassungsmodus == NetzErfassungsmodus.Gis)
            {
                ViewBag.ApproxWaitTime = GisHistorizationTimeEstimate.GetApproxHistorizationTime(achsenSegmentService.GetCurrentEntities().Count());
            }

            return(erfassungsabschlussModel);
        }
        public void LoadGlobalValues(WiederbeschaffungswertKatalogEditModel wiederbeschaffungswertKatalogEditModel)
        {
            var wiederbeschaffungswertKatalogs = Query <WiederbeschaffungswertKatalog>()
                                                 .Where(wbk => wbk.Mandant == securityService.GetCurrentMandant())
                                                 .Where(wbk => wbk.ErfassungsPeriod == historizationService.GetCurrentErfassungsperiod())
                                                 .Single(wbk => wbk.Belastungskategorie.Id == wiederbeschaffungswertKatalogEditModel.Belastungskategorie);

            var globalWiederbeschaffungswertKatalog = Queryable.Single(gwbk => gwbk.Belastungskategorie.Id == wiederbeschaffungswertKatalogEditModel.Belastungskategorie.Value);

            entityServiceMappingEngine.Translate(globalWiederbeschaffungswertKatalog, wiederbeschaffungswertKatalogEditModel);

            wiederbeschaffungswertKatalogEditModel.Id = wiederbeschaffungswertKatalogs.Id;
        }
 protected override IQueryable <TEntity> FilterEntities(IQueryable <TEntity> entities)
 {
     return(base.FilterEntities(entities).Where(GetComparisonPredicate(ErfassungsPeriodExpression, () => historizationService.GetCurrentErfassungsperiod())));
 }