public static IQueryable <T> Search <T>(this IQueryable <T> query, SearchCriteria searchCriteria) { var predicate = PredicateBuilder.False <T>(); if (searchCriteria.PropertiesToSearch.Count() > 0 && !string.IsNullOrEmpty(searchCriteria.Term)) { foreach (var property in searchCriteria.PropertiesToSearch) { predicate = predicate.Or(SearchExpressionHelper.BuildPredicate <T>(property, SearchOperation.Contains, searchCriteria.Term)); } return(query.Where(predicate)); } return(query); }
public static IQueryable <T> Where <T>(this IQueryable <T> query, string propertyName, SearchOperation searchOperation, string value) { return(query.Where(SearchExpressionHelper.BuildPredicate <T>(propertyName, searchOperation, value))); }