예제 #1
0
 private void AddFilterParameter(IFilterParameter p, ref int yOffset)
 {
     if (p.GetType() == typeof(NumericFilterParam))
     {
         AddSliderBar((NumericFilterParam)p, ref yOffset);
     }
 }
예제 #2
0
        public IFilterer <TEntity> CreateFilterer <TEntity>(IFilterParameter filterParameter)
            where TEntity : IEntity
        {
            var filters = new List <ICanBuildFilterFor <TEntity> >();

            foreach (var parameterFilter in filterParameter.GetType().GetInterfaces())
            {
                if (parameterFilter != typeof(IFilterParameter) && typeof(IFilterParameter).IsAssignableFrom(parameterFilter))
                {
                    var filter = index[parameterFilter];
                    filter.Initialize(filterParameter);
                    if (filter is ICanBuildFilterFor <TEntity> )
                    {
                        filters.Add(filter as ICanBuildFilterFor <TEntity>);
                    }
                }
            }
            return(new Filterer <TEntity>(filters));
        }