private static bool FilterMatches( FilterScope scope, AutofacFilterCategory filterCategory, ILifetimeScope lifeTimeScope, HttpActionDescriptor descriptor, FilterPredicateMetadata metadata) { return(metadata.FilterCategory == filterCategory && metadata.Scope == scope && metadata.Predicate(lifeTimeScope, descriptor)); }
private static bool FilterMatchesAndNotAlreadyAdded( FilterContext filterContext, FilterScope scope, AutofacFilterCategory filterCategory, ILifetimeScope lifeTimeScope, FilterPredicateMetadata metadata, HttpActionDescriptor descriptor) { return(FilterMatches(scope, filterCategory, lifeTimeScope, descriptor, metadata) && !MatchingFilterAlreadyAdded(filterContext, filterCategory, lifeTimeScope, descriptor, metadata)); }
private static bool MatchingFilterAlreadyAdded(FilterContext filterContext, AutofacFilterCategory filterCategory, ILifetimeScope lifeTimeScope, HttpActionDescriptor descriptor, FilterPredicateMetadata metadata) { var filters = filterContext.AddedFilters[filterCategory]; return(filters.Any(filter => filter.Scope == metadata.Scope && filter.Predicate(lifeTimeScope, descriptor))); }