예제 #1
0
        public IEnumerable <Person> Filter(IEnumerable <Person> people)
        {
            IList <Person>       first = firstCriteria.Filter(people).ToList();
            IEnumerable <Person> other = otherCriteria.Filter(people);

            foreach (var item in other)
            {
                if (first.Contains(item) == false)
                {
                    first.Add(item);
                }
            }
            return(first);
        }
예제 #2
0
 public static IQueryable <T> ApplyTo <T>(this ICriteria <T> me, IQueryable <T> source)
 => me.Filter(source);
예제 #3
0
 public List <Person> Filter(List <Person> persons)
 {
     return(criteria1.Filter(persons).Union(criteria2.Filter(persons)).ToList());
 }
예제 #4
0
 public static IQueryable <T> FilterBy <T>(this IQueryable <T> source, ICriteria <T> criteria, bool needPagination = true)
 => criteria.Filter(source, needPagination);