Example #1
0
        public static FilterRegistry RegisterOnGlobal <TFilter>(this FilterRegistry instance)
            where TFilter : FilterAttribute
        {
            Guard.ArgumentNotNull(instance, "instance");

            return(RegisterOnGlobal <TFilter>(instance, (TFilter filter) => { }));
        }
Example #2
0
        public static FilterRegistry RegisterOnAction <TController, TFilter>(this FilterRegistry instance, Expression <Action <TController> > action)
            where TController : Controller
            where TFilter : FilterAttribute
        {
            Guard.ArgumentNotNull(instance, "instance");

            return(RegisterOnAction <TController, TFilter>(instance, action, filter => { }));
        }
Example #3
0
        public static FilterRegistry RegisterOnAction <TController, TFilter>(this FilterRegistry instance, Expression <Action <TController> > action, Action <TFilter> configureFilter)
            where TController : Controller
            where TFilter : FilterAttribute
        {
            Guard.ArgumentNotNull(instance, "instance");
            Guard.ArgumentNotNull(action, "action");
            Guard.ArgumentNotNull(configureFilter, "configureFilter");

            return(instance.Register <TController, FilterAttribute>(action, CreateAndConfigureFilter(instance, configureFilter)));
        }
Example #4
0
        private static Func <FilterAttribute> CreateAndConfigureFilter <TFilter>(FilterRegistry registry, Action <TFilter> configureFilter) where TFilter : FilterAttribute
        {
            return(new Func <FilterAttribute>(() =>
            {
                TFilter filter = registry.Container.ResolveOne <TFilter>();

                configureFilter(filter);

                return filter;
            }));
        }
Example #5
0
        public static FilterRegistry RegisterOnGlobal <TFilter>(this FilterRegistry instance, Action <TFilter> configureFilter)
            where TFilter : FilterAttribute
        {
            Guard.ArgumentNotNull(instance, "instance");
            Guard.ArgumentNotNull(configureFilter, "configureFilter");

            foreach (Type itemType in instance.Container.ResolveAll <Controller>().Select(c => c.GetType()).Select(controllerType => genericControllerItemType.MakeGenericType(controllerType)))
            {
                instance.Items.Add(Activator.CreateInstance(itemType, new object[] { CreateAndConfigureFilter(instance, configureFilter) }) as FilterRegistryItem);
            }

            return(instance);
        }
Example #6
0
 public static FilterRegistry RegisterOnController <TController, TFilter>(this FilterRegistry instance)
     where TController : Controller
     where TFilter : FilterAttribute
 {
     return(RegisterOnController <TController, TFilter>(instance, (TFilter filter) => { }));
 }
Example #7
0
 private void RegisterInternal(FilterRegistry registry)
 {
 }
Example #8
0
 protected abstract void Register(FilterRegistry registry);