示例#1
0
 private MenuItemModelBuilder(IPermissionService permissionService, IServerConfigurationProvider serverConfigurationProvider, NetzErfassungsmodus netzErfassungsmodus, List <MenuItemModel> menuItemModelList)
 {
     this.permissionService           = permissionService;
     this.serverConfigurationProvider = serverConfigurationProvider;
     this.netzErfassungsmodus         = netzErfassungsmodus;
     menuItemModels = menuItemModelList;
 }
示例#2
0
 public MenuItemModelBuilder(IPermissionService permissionService, IServerConfigurationProvider serverConfigurationProvider, NetzErfassungsmodus netzErfassungsmodus)
 {
     this.permissionService           = permissionService;
     this.serverConfigurationProvider = serverConfigurationProvider;
     this.netzErfassungsmodus         = netzErfassungsmodus;
     menuItemModels = new List <MenuItemModel>();
 }
 public AllowedModesAttribute(NetzErfassungsmodus netzErfassungsmodus, params NetzErfassungsmodus[] others)
 {
     NetzErfassungsmoduses = new List <NetzErfassungsmodus> {
         netzErfassungsmodus
     };
     NetzErfassungsmoduses.AddRange(others);
     Order = 2;
 }
示例#4
0
 public static string GetReportType(Type type, NetzErfassungsmodus netzErfassungsmodus)
 {
     return(string.Join(", ",
                        type.GetCustomAttributes(true)
                        .OfType <ReportInfoAttribute>()
                        .Where(r => r.NetzErfassungsmodus == (NetzErfassungsmodus)(-1) || r.NetzErfassungsmodus == netzErfassungsmodus)
                        .Select(r => r.ReportType.ToString().Replace('_', '.'))) + " ");
 }
示例#5
0
        private void LoadRealisierteMassnahmeEntities <TEnitity>(Table table, NetzErfassungsmodus erfassungsmodus)
            where TEnitity : IErfassungsPeriodDependentEntity, IFlaecheFahrbahnUndTrottoirHolder, IRealisierteMassnahmeKostenHolder, IBelastungskategorieHolder, new()
        {
            var reader = GetObjectReaderConfigurationFor <TEnitity>()
                         .PropertyAliasFor(e => e.ErfassungsPeriod, "Jahr")
                         .ConverterFor(e => e.Belastungskategorie,
                                       (s, p) =>
                                       ScenarioContextWrapper.CurrentScope.Session.Query <Belastungskategorie>().ToArray().Single(
                                           i => i.Typ == s))
                         .ConverterFor(e => e.Mandant, (s, p) => new Mandant()
            {
                MandantName = s
            })
                         .ConverterFor(e => e.ErfassungsPeriod,
                                       (s, p) => new ErfassungsPeriod()
            {
                Erfassungsjahr = new DateTime(int.Parse(s), 1, 1), NetzErfassungsmodus = erfassungsmodus
            });

            using (var nhScope = new NHibernateSpecflowScope())
            {
                entitesProErfassungsmodus[erfassungsmodus][typeof(TEnitity)] = (IEnumerable <IErfassungsPeriodDependentEntity>)reader.GetObjectReader().GetObjectList <TEnitity>(table);
            }
        }
 public static bool IsStrasseMode(this NetzErfassungsmodus netzErfassungsmodus)
 {
     return(netzErfassungsmodus == NetzErfassungsmodus.Tabellarisch ||
            netzErfassungsmodus == NetzErfassungsmodus.Gis);
 }
 public static bool IsSummarischeMode(this NetzErfassungsmodus netzErfassungsmodus)
 {
     return(netzErfassungsmodus == NetzErfassungsmodus.Summarisch);
 }
示例#8
0
        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);
        }
示例#9
0
 public MenuItemModelBuilder AddMenuItem <TController>(NetzErfassungsmodus netzErfassungsmodus, string action = "Index")
 {
     return(AddMenuItem <TController>(new[] { netzErfassungsmodus }, action));
 }
        public static ErfassungsPeriod CreateErfassungsPeriod(this NHibernateTestScope scope, int year, NetzErfassungsmodus mode, string mandantName, bool isClosed = true)
        {
            var erfassungsPeriod = new ErfassungsPeriod {
                Erfassungsjahr = new DateTime(year, 01, 01), IsClosed = isClosed, NetzErfassungsmodus = mode, Mandant = scope.GetMandant(mandantName)
            };

            erfassungsPeriod.Id = scope.Save(erfassungsPeriod);
            return(erfassungsPeriod);
        }
示例#11
0
 protected void SetMandantByModus(NetzErfassungsmodus modus)
 {
     BrowserDriver.InvokeGetAction <HeaderController, Guid?>((c, r) => c.SetMandant(null), new NameValueCollection {
         { "mandantId", mandants[modus].Id.ToString() }
     });
 }
示例#12
0
        public static Mandant CreateMandant(ISession session, string mandantName, string ownerId, NetzErfassungsmodus netzErfassungsmodus = NetzErfassungsmodus.Summarisch, MandantDetails mandantDetails = null, string mandantBezeichnung = null)
        {
            var mandant = new Mandant
            {
                MandantBezeichnung = mandantBezeichnung ?? mandantName,
                MandantName        = mandantName,
                OwnerId            = ownerId
            };

            session.Save(mandant);
            var erfassungsPeriod = CreateErfassungsPeriod(session, mandant, netzErfassungsmodus);

            var netzSummarisch = new NetzSummarisch
            {
                ErfassungsPeriod       = erfassungsPeriod,
                MittleresErhebungsJahr = null,
                Mandant = erfassungsPeriod.Mandant
            };

            session.Save(netzSummarisch);

            foreach (Belastungskategorie belastungskategorie in session.Query <Belastungskategorie>())
            {
                session.Save(new NetzSummarischDetail
                {
                    NetzSummarisch      = netzSummarisch,
                    Belastungskategorie = belastungskategorie
                });
            }

            foreach (GlobalWiederbeschaffungswertKatalog globalWiederbeschaffungswertKatalog in session.Query <GlobalWiederbeschaffungswertKatalog>())
            {
                session.Save(new WiederbeschaffungswertKatalog
                {
                    AlterungsbeiwertI     = globalWiederbeschaffungswertKatalog.AlterungsbeiwertI,
                    AlterungsbeiwertII    = globalWiederbeschaffungswertKatalog.AlterungsbeiwertII,
                    GesamtflaecheFahrbahn = globalWiederbeschaffungswertKatalog.GesamtflaecheFahrbahn,
                    FlaecheTrottoir       = globalWiederbeschaffungswertKatalog.FlaecheTrottoir,
                    FlaecheFahrbahn       = globalWiederbeschaffungswertKatalog.FlaecheFahrbahn,

                    IsCustomized = false,

                    Belastungskategorie = globalWiederbeschaffungswertKatalog.Belastungskategorie,

                    ErfassungsPeriod = erfassungsPeriod,
                    Mandant          = mandant,
                });
            }


            foreach (string globalMassnahmenvorschlagKatalogtyp in session.Query <GlobalMassnahmenvorschlagKatalog>().Select(gmvk => gmvk.Parent.Typ).Distinct())
            {
                foreach (GlobalMassnahmenvorschlagKatalog globalMassnahmenvorschlagKatalog in session.Query <GlobalMassnahmenvorschlagKatalog>().Where(gmvk => gmvk.Parent.Typ == globalMassnahmenvorschlagKatalogtyp))
                {
                    session.Save(new MassnahmenvorschlagKatalog
                    {
                        DefaultKosten       = globalMassnahmenvorschlagKatalog.DefaultKosten,
                        IsCustomized        = false,
                        Belastungskategorie = globalMassnahmenvorschlagKatalog.Belastungskategorie,
                        Parent           = globalMassnahmenvorschlagKatalog.Parent,
                        ErfassungsPeriod = erfassungsPeriod,
                        Mandant          = mandant,
                    });
                }
            }

            if (mandantDetails == null)
            {
                session.Save(new MandantDetails
                {
                    DifferenzHoehenlageSiedlungsgebiete = 10,
                    Einwohner       = 2000,
                    Gemeindeflaeche = 30000,
                    Gemeindetyp     = session.Query <GemeindeKatalog>().FirstOrDefault(),
                    MittlereHoehenlageSiedlungsgebiete = 400,
                    OeffentlicheVerkehrsmittel         = session.Query <OeffentlicheVerkehrsmittelKatalog>().FirstOrDefault(),
                    Siedlungsflaeche = 500000,
                    Steuerertrag     = 7,
                    NetzLaenge       = 0,

                    IsCompleted = true,

                    Mandant          = mandant,
                    ErfassungsPeriod = erfassungsPeriod
                });
            }
            else
            {
                mandantDetails.Mandant          = mandant;
                mandantDetails.ErfassungsPeriod = erfassungsPeriod;
                session.Save(mandantDetails);
            }

            return(mandant);
        }
示例#13
0
        public static ErfassungsPeriod CreateErfassungsPeriod(ISession session, Mandant mandant, NetzErfassungsmodus netzErfassungsmodus)
        {
            var erfassungsPeriod = new ErfassungsPeriod
            {
                IsClosed            = false,
                Mandant             = mandant,
                Name                = mandant.MandantName + " InitialErfassungsPeriod",
                Erfassungsjahr      = new DateTime(2000, 1, 1),
                NetzErfassungsmodus = netzErfassungsmodus,
            };

            session.Save(erfassungsPeriod);

            return(erfassungsPeriod);
        }
示例#14
0
 public ReportInfoAttribute(AuswertungTyp reportType)
 {
     NetzErfassungsmodus = (NetzErfassungsmodus)(-1);
     this.ReportType     = reportType;
 }