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); }
public static IQueryable <T> ApplyTo <T>(this ICriteria <T> me, IQueryable <T> source) => me.Filter(source);
public List <Person> Filter(List <Person> persons) { return(criteria1.Filter(persons).Union(criteria2.Filter(persons)).ToList()); }
public static IQueryable <T> FilterBy <T>(this IQueryable <T> source, ICriteria <T> criteria, bool needPagination = true) => criteria.Filter(source, needPagination);