public ActionResult ArbeitsmodusWechseln(ArbeitsmodusModel arbeitsmodusModel) { if (ModelState.IsValid) { arbeitsmodusService.SaveArbeitsmodusModel(arbeitsmodusModel); ViewBag.IsAchsenEditEnabled = mandantDetailsService.GetCurrentMandantDetails().IsAchsenEditEnabled; return(View("ArbeitsmodusWechselnSuccessfull", arbeitsmodusModel)); } return(View("Index", arbeitsmodusModel)); }
public ErfassungsabschlussModelValidator( ILocalizationService localizationService, IHistorizationService historizationService, IStrassenabschnittGISService strassenabschnittGISService, IMandantDetailsService mandantDetailsService) : base(localizationService) { var availabledDates = historizationService.GetAvailableErfassungsabschlussen().Select(x => x.AbschlussDate).ToList(); RuleFor(m => m.AbschlussDate).ExclusiveBetween(availabledDates.First().AddDays(-1), availabledDates.Last().AddDays(1)); RuleFor(m => m.AbschlussDate).Must((m, p) => !strassenabschnittGISService.AreThereLockedStrassenabschnitte()).WithMessage(localizationService.GetLocalizedError(ValidationError.JahresAbschlussStrassenabschnittLocked)); RuleFor(m => m.AbschlussDate).Must((m, p) => mandantDetailsService.GetCurrentMandantDetails().IsCompleted); }
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); }
private List <MenuItemModel> GetMenuItemModels() { if (httpRequestCacheService.MenuItemModels != null) { return(httpRequestCacheService.MenuItemModels); } var applicationMode = securityService.GetCurrentApplicationMode(); NetzErfassungsmodus netzErfassungsmodus = NetzErfassungsmodus.Summarisch; if (applicationMode != ApplicationMode.NoMandants) { netzErfassungsmodus = applicationMode == ApplicationMode.Application ? NetzErfassungsmodus.Tabellarisch : erfassungsPeriodService.GetCurrentErfassungsPeriod().NetzErfassungsmodus; } var isAchenEditEnabled = false; if (applicationMode == ApplicationMode.Mandant) { isAchenEditEnabled = mandantDetailsService.GetCurrentMandantDetails().IsAchsenEditEnabled; } var menuBuilder = new MenuItemModelBuilder(permissionService, serverConfigurationProvider, netzErfassungsmodus); var allModus = new[] { NetzErfassungsmodus.Gis, NetzErfassungsmodus.Summarisch, NetzErfassungsmodus.Tabellarisch }; var strassenModus = new[] { NetzErfassungsmodus.Gis, NetzErfassungsmodus.Tabellarisch }; menuBuilder.AddMenuItem <HomeController>(allModus); menuBuilder.AddMenuItem <StrassenmengeUndZustandController>(NetzErfassungsmodus.Summarisch); menuBuilder.AddMenuItem <NetzdefinitionUndStrassenabschnittController>(NetzErfassungsmodus.Tabellarisch); if (netzErfassungsmodus == NetzErfassungsmodus.Gis) { menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Strassennetz, builder => { builder.AddMenuItem <NetzdefinitionUndStrassenabschnittGISController>(NetzErfassungsmodus.Gis); if (isAchenEditEnabled) { builder.AddMenuItem <AchsenController>(NetzErfassungsmodus.Gis); } }); } menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Zustand, builder => { builder.AddMenuItem <ZustaendeUndMassnahmenvorschlaegeController>(NetzErfassungsmodus.Tabellarisch); builder.AddMenuItem <ZustaendeUndMassnahmenvorschlaegeGISController>(NetzErfassungsmodus.Gis); builder.AddMenuItem <InspektionsroutenGISController>(NetzErfassungsmodus.Gis); }); menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Massnahmen, builder => { builder.AddMenuItem <MassnahmenvorschlaegeAndererTeilsystemeController>(NetzErfassungsmodus.Gis); builder.AddMenuItem <KoordinierteMassnahmenController>(NetzErfassungsmodus.Gis); builder.AddMenuItem <RealisierteMassnahmenSummarischController>(NetzErfassungsmodus.Summarisch); builder.AddMenuItem <RealisierteMassnahmenGISController>(NetzErfassungsmodus.Gis); builder.AddMenuItem <RealisierteMassnahmenController>(NetzErfassungsmodus.Tabellarisch); }); menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen, builder => { builder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen_Invertar, subBuilder => { subBuilder.AddMenuItem <MengeProBelastungskategorieController>(allModus); subBuilder.AddMenuItem <MengeProBelastungskategorieGrafischeController>(allModus); subBuilder.AddMenuItem <StrassenabschnitteListeController>(NetzErfassungsmodus.Tabellarisch); subBuilder.AddMenuItem <StrassenabschnitteListeGISController>(NetzErfassungsmodus.Gis); }); builder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen_WiederbeschaffungswertUndWertverlust, subBuilder => { subBuilder.AddMenuItem <WiederbeschaffungswertUndWertverlustProBelastungskategorieController>(allModus); subBuilder.AddMenuItem <WiederbeschaffungswertUndWertverlustGrafischeController>(allModus); subBuilder.AddMenuItem <WiederbeschaffungswertUndWertverlustProStrassenabschnittController>(strassenModus); subBuilder.AddMenuItem <WiederbeschaffungswertUndWertverlustProJahrGrafischeController>(allModus); }); builder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen_ZustandUndMassnahmenvorschläge, subBuilder => { subBuilder.AddMenuItem <ZustandsspiegelProBelastungskategorieGrafischeController>(strassenModus); subBuilder.AddMenuItem <ZustandsspiegelProJahrGrafischeController>(strassenModus); subBuilder.AddMenuItem <ZustandProZustandsabschnittController>(NetzErfassungsmodus.Tabellarisch); subBuilder.AddMenuItem <ZustandProZustandsabschnittGISController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <MassnahmenvorschlagProZustandsabschnittController>(NetzErfassungsmodus.Tabellarisch); subBuilder.AddMenuItem <MassnahmenvorschlagProZustandsabschnittGISController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <AusgefuellteErfassungsformulareFuerOberflaechenschaedenController>(strassenModus); subBuilder.AddMenuItem <ErfassungsformulareFuerOberflaechenschaedenController>(allModus); subBuilder.AddMenuItem <ListeDerInspektionsroutenController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <StrassenabschnitteListeOhneInspektionsrouteController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <NochNichtInspizierteStrassenabschnitteController>(strassenModus); }); builder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen_MassnahmenDerTeilsystemeUndKoordinierteMassnahmen, subBuilder => { subBuilder.AddMenuItem <EineListeVonMassnahmenGegliedertNachTeilsystemenController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <EineListeVonKoordiniertenMassnahmenController>(NetzErfassungsmodus.Gis); }); builder.AddPlaceHolderMenuItems(MenuLocalization.Auswertungen_Fortschreibung, subBuilder => { subBuilder.AddMenuItem <EineListeVonRealisiertenMassnahmenGeordnetNachJahrenSummarischController>(NetzErfassungsmodus.Summarisch); subBuilder.AddMenuItem <EineListeVonRealisiertenMassnahmenGeordnetNachJahrenController>(NetzErfassungsmodus.Tabellarisch); subBuilder.AddMenuItem <EineListeVonRealisiertenMassnahmenGeordnetNachJahrenGISController>(NetzErfassungsmodus.Gis); subBuilder.AddMenuItem <RealisiertenMassnahmenWertverlustZustandsindexProJahrGrafischeController>(allModus); }); builder.AddMenuItem <GISExportController>(NetzErfassungsmodus.Gis); }); menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Benchmarking, builder => { builder.AddMenuItem <BenchmarkauswertungInventarkennwertenController>(allModus); builder.AddMenuItem <BenchmarkauswertungZustandskennwertenController>(allModus); builder.AddMenuItem <BenchmarkauswertungKennwertenRealisiertenMassnahmenController>(allModus); }); menuBuilder.AddPlaceHolderMenuItems(MenuLocalization.Administration, builder => { builder.AddMenuItem <KenngroessenFruehererJahreSummarischController>(NetzErfassungsmodus.Summarisch); builder.AddMenuItem <KenngroessenFruehererJahreController>(NetzErfassungsmodus.Tabellarisch); builder.AddMenuItem <KenngroessenFruehererJahreGISController>(NetzErfassungsmodus.Gis); if (!isAchenEditEnabled) { builder.AddMenuItem <AchsenupdateController>(NetzErfassungsmodus.Gis); } builder.AddMenuItem <AchsenEditModeController>(allModus); builder.AddMenuItem <CheckOutRueckgaengigController>(NetzErfassungsmodus.Gis); builder.AddMenuItem <ErfassungsPeriodAbschlussController>(allModus); builder.AddPlaceHolderMenuItems(MenuLocalization.Administration_SystemparameterPflegen, subBuilder => { subBuilder.AddMenuItem <AnwendungsLoggingsController>(allModus); subBuilder.AddMenuItem <WiederbeschaffungswertAndAlterungsbeiwertController>(allModus); subBuilder.AddMenuItem <MassnahmenvorschlagController>(allModus); }); builder.AddMenuItem <ArbeitsmodusWechselnController>(allModus); builder.AddMenuItem <MandantDetailsController>(allModus); builder.AddMenuItem <MandantLogoController>(allModus); builder.AddMenuItem <AndereBenutzerrollenEinnehmenController>(allModus); builder.AddMenuItem <EreignisLogController>(allModus); builder.AddMenuItem <GlobalResourceController>(allModus); builder.AddMenuItem <HelpSystemController>(allModus); }); httpRequestCacheService.MenuItemModels = menuBuilder.MenuItemModels; return(menuBuilder.MenuItemModels); }