Ejemplo n.º 1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var areaName = AreaTable.GetAreaForController(filterContext.Controller.GetType().FullName);

            if (areaName != null)
            {
                filterContext.RouteData.DataTokens["area"] = areaName;
            }
        }
Ejemplo n.º 2
0
        public static void RegisterAllAreas(Action <AreaConfigurationSettings> configuration = null)
        {
            configuration?.Invoke(Settings);

            AreaRegistration.RegisterAllAreas();
            var areas = TypeAttributeHelper.GetTypesChildOf <AreaRegistration>();

            foreach (var area in areas)
            {
                var areaRegistration = AreaTable.AddArea(area);

                var ns = area.Namespace;
                if (string.IsNullOrEmpty(ns))
                {
                    continue;
                }

                var controllersInArea = TypeAttributeHelper.GetTypesChildOf <Controller>().Where(t => t.Namespace != null && t.Namespace.StartsWith(ns));
                controllersInArea.ToList().ForEach(t => AreaTable.RegisterController(t.FullName, areaRegistration.AreaName));
            }
        }