/// <summary> /// Register a routes for the google analytics module. /// </summary> /// <param name="context">The module context.</param> /// <param name="containerBuilder">The container builder.</param> public override void RegisterCustomRoutes(ModuleRegistrationContext context, ContainerBuilder containerBuilder) { context.MapRoute( "bcms-google-sitemap", GoogleAnalyticsModuleHelper.GetSitemapUrl(cmsConfiguration), new { area = AreaName, controller = "GoogleSitemap", action = "Index" }); }
/// <summary> /// Registers module controller types. /// </summary> /// <param name="registrationContext">The area registration context.</param> /// <param name="containerBuilder">The container builder.</param> /// <param name="controllerExtensions">The controller extensions.</param> internal void RegisterModuleControllers(ModuleRegistrationContext registrationContext, ContainerBuilder containerBuilder, IControllerExtensions controllerExtensions) { var controllerTypes = controllerExtensions.GetControllerTypes(GetType().Assembly); if (controllerTypes != null) { foreach (Type controllerType in controllerTypes) { string key = (AreaName + "-" + controllerType.Name).ToUpperInvariant(); containerBuilder .RegisterType(controllerType) .AsSelf() .Keyed <IController>(key) .WithMetadata("ControllerType", controllerType) .InstancePerDependency() .PropertiesAutowired(PropertyWiringOptions.PreserveSetValues); } registrationContext.MapRoute( string.Format("bcms_{0}_internal_routes", AreaName), string.Format("{0}/{{controller}}/{{action}}", AreaName), new { area = AreaName }); } }
public override void RegisterCustomRoutes(ModuleRegistrationContext context, ContainerBuilder containerBuilder) { context.MapRoute( "bcms-setup-database-first-time", SetupDatabaseRoute, new { area = AreaName, controller = "Install", action = "SetupDatabase" }); context.MapRoute( "bcms-setup-database-test-connection", TestConnectionRoute, new { area = AreaName, controller = "Install", action = "TestConnection" }); }
public override void RegisterCustomRoutes(ModuleRegistrationContext context, ContainerBuilder containerBuilder) { if (Configuration.Users != null) { if (Configuration.Users.CreateDefaultUserOnStart) { context.MapRoute( "bcms-users-register-first-user", AreaName + "/register", new { area = AreaName, controller = "Registration", action = "CreateFirstUser" }); } if (Configuration.Users.EnableCmsFormsAuthentication) { context.MapRoute( "bcms-users-login", "login", new { area = AreaName, controller = "Authentication", action = "Login" }); context.MapRoute( "bcms-users-logout", "logout", new { area = AreaName, controller = "Authentication", action = "Logout" }); } } }
/// <summary> /// Creates the resource routes for 6 levels folder structure. /// </summary> /// <param name="context">The context.</param> private void CreateEmbeddedResourcesRoutes(ModuleRegistrationContext context) { string[] urls = new[] { "file/{area}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{folder2}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{folder2}/{folder3}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{folder2}/{folder3}/{folder4}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{folder2}/{folder3}/{folder4}/{folder5}/{file}.{resourceType}/{*all}", "file/{area}/{folder1}/{folder2}/{folder3}/{folder4}/{folder5}/{folder6}/{file}.{resourceType}/{*all}" }; int i = 0; foreach (var url in urls) { context.MapRoute( AreaName + "-level" + i++, url, new { controller = "EmbeddedResources", action = "Index" }, new { resourceType = new MimeTypeRouteConstraint() }, new[] { typeof(EmbeddedResourcesController).Namespace }); } }
/// <summary> /// Registers a routes. /// </summary> /// <param name="context">The area registration context.</param> /// <param name="containerBuilder">The container builder.</param> public override void RegisterCustomRoutes(ModuleRegistrationContext context, ContainerBuilder containerBuilder) { context.MapRoute( "bcms_" + AreaName + "_MainJs", string.Format(RootModuleConstants.AutoGeneratedJsFilePathPattern, "bcms.main.js").TrimStart('/'), new { area = AreaName, controller = "Rendering", action = "RenderMainJsFile" }, new[] { typeof(RenderingController).Namespace }); context.MapRoute( "bcms_" + AreaName + "_ProcessorJs", string.Format(RootModuleConstants.AutoGeneratedJsFilePathPattern, "bcms.processor.js").TrimStart('/'), new { area = AreaName, controller = "Rendering", action = "RenderProcessorJsFile" }, new[] { typeof(RenderingController).Namespace }); context.MapRoute( "bcms_" + AreaName + "_PreviewPage", "bcms/preview/{pageId}/{pageContentId}", new { area = AreaName, controller = "Preview", action = "Index" }, new[] { typeof(PreviewController).Namespace }); CreateEmbeddedResourcesRoutes(context); // All CMS Pages: context.MapRoute("bcms_" + AreaName + "_AllPages", "{*data}", new { area = AreaName, controller = "Cms", action = "Index" }, new[] { typeof(CmsController).Namespace }); }
/// <summary> /// Registers a routes. /// </summary> /// <param name="context">The area registration context.</param> /// <param name="containerBuilder">The container builder.</param> /// <param name="configuration">The configuration.</param> public override void RegisterCustomRoutes(ModuleRegistrationContext context, ContainerBuilder containerBuilder, ICmsConfiguration configuration) { context.MapRoute( "bcms_" + AreaName + "_MainJs", string.Format("file/{0}/Scripts/main.js", AreaName), new { area = AreaName, controller = "Rendering", action = "RenderMainJsFile" }, new[] { typeof(RenderingController).Namespace }); context.MapRoute( "bcms_" + AreaName + "_ProcessorJs", string.Format("file/{0}/Scripts/bcms.processor.js", AreaName), new { area = AreaName, controller = "Rendering", action = "RenderProcessorJsFile" }, new[] { typeof(RenderingController).Namespace }); CreateEmbeddedResourcesRoutes(context); // All CMS Pages: context.MapRoute("bcms_" + AreaName + "_AllPages", "{*data}", new { area = AreaName, controller = "Cms", action = "Index" }, new[] { typeof(CmsController).Namespace }); }
/// <summary> /// Registers module controller types. /// </summary> /// <param name="registrationContext">The area registration context.</param> /// <param name="containerBuilder">The container builder.</param> /// <param name="configuration">The configuration.</param> /// <param name="controllerExtensions">The controller extensions.</param> internal void RegisterModuleControllers(ModuleRegistrationContext registrationContext, ContainerBuilder containerBuilder, IControllerExtensions controllerExtensions) { var controllerTypes = controllerExtensions.GetControllerTypes(GetType().Assembly); if (controllerTypes != null) { var allModuleActions = new Dictionary <Type, IEnumerable <MethodInfo> >(); foreach (Type controllerType in controllerTypes) { string key = (AreaName + "-" + controllerType.Name).ToUpperInvariant(); containerBuilder .RegisterType(controllerType) .AsSelf() .Keyed <IController>(key) .WithMetadata("ControllerType", controllerType) .InstancePerDependency() .PropertiesAutowired(PropertyWiringOptions.PreserveSetValues); var controllerActions = controllerExtensions.GetControllerActions(controllerType); if (controllerActions != null) { allModuleActions.Add(controllerType, controllerActions); } } //foreach (var item in allModuleActions) //{ // var controllerName = controllerExtensions.GetControllerName(item.Key); // var controllerActions = item.Value; // foreach (var actionMethod in controllerActions) // { // var ignoreAutoRouteAttribute = actionMethod.GetCustomAttributes(typeof(IgnoreAutoRouteAttribute), false); // var nonActionAttribute = actionMethod.GetCustomAttributes(typeof(NonActionAttribute), false); // if (ignoreAutoRouteAttribute.Length > 0 || nonActionAttribute.Length > 0) // { // continue; // } // registrationContext.MapRoute( // string.Format("bcms_{0}_{1}_{2}", AreaName, controllerName, actionMethod.Name), // string.Format("{0}/{1}/{2}", AreaName, controllerName, actionMethod.Name), // new // { // area = AreaName, // controller = controllerName, // action = actionMethod.Name // }, // new[] { item.Key.Namespace }); // } //} // All internal routes: registrationContext.MapRoute( string.Format("bcms_{0}_internal_routes", AreaName), string.Format("{0}/{{controller}}/{{action}}", AreaName), new { area = AreaName } ); } }