Exemple #1
0
        /// <summary>
        /// Scans assembly and registers all policies found.
        /// Uses dependency resolver
        /// </summary>
        /// <param name="conventions"></param>
        /// <param name="asm"></param>
        public static void RegisterConventions(this FiltersConventions conventions, Assembly asm)
        {
            var resolve = DependencyResolver.Current;

            asm.GetTypesDerivedFrom <IFilterConvention>()
            .Select(t => resolve.GetService(t))
            .Cast <IFilterConvention>()
            .ForEach(f =>
            {
                conventions.Conventions.Add(f);
            });
        }
Exemple #2
0
 public static void RegisterControllers(this FiltersConventions conventions, params Type[] controllers)
 {
     foreach (var c in controllers)
     {
         if (!c.DerivesFrom <Controller>())
         {
             continue;
         }
         c.GetActionMethods().ForEach(m =>
         {
             conventions.Actions.Add(m);
         });
     }
 }
Exemple #3
0
 public LambdaConfigurator(FiltersConventions parent, Predicate <MethodInfo> predicate)
 {
     _parent = parent;
     _lambda = new LambdaHostConvention(predicate);
 }
Exemple #4
0
 public static void RegisterModules(this FiltersConventions filters, params Assembly[] assemblies)
 {
     assemblies.SelectMany(a => a.GetTypesDerivedFrom <FiltersConventionsModule>(true))
     .ForEach(t => filters.LoadModule(t.CreateInstance() as FiltersConventionsModule));
 }
Exemple #5
0
 /// <summary>
 /// Builds the conventions and registers them to be used by asp.net mvc
 /// </summary>
 /// <param name="filters"></param>
 public static void BuildAndEnable(this FiltersConventions filters)
 {
     filters.RegisterProvider(FilterProviders.Providers);
 }
Exemple #6
0
 /// <summary>
 /// Register as actions types matching a criteria
 /// </summary>
 /// <param name="conventions"></param>
 /// <param name="asm"></param>
 /// <param name="match"></param>
 public static void Register(this FiltersConventions conventions, Assembly asm, Func <Type, bool> match)
 {
     RegisterControllers(conventions, asm.GetTypes().Where(match).ToArray());
 }
Exemple #7
0
 public static void RegisterController <T>(this FiltersConventions conventions) where T : Controller
 {
     conventions.RegisterControllers(typeof(T));
 }
Exemple #8
0
 public static void RegisterControllers(this FiltersConventions conventions, Assembly asm)
 {
     RegisterControllers(conventions, asm.GetControllerTypes().ToArray());
 }