public static IQueryable <TEntity> WheryDinamic <TEntity>(this IQueryable <TEntity> source, ICollection <IWhereDinamicItem> filters) where TEntity : DomainObject, new() { foreach (var filter in filters) { source = source.Where(ExpressionUtils.BuildPredicate <TEntity>(filter.PropertyName, filter.TypeFilter, filter.Value)); } return(source); }
private static IQueryable <T> FilterQueryDataTable <T>(IQueryable <T> query, DataTableServerSideRequest request) { if (request.Search.Regex || string.IsNullOrWhiteSpace(request.Search.Value)) { return(query); } var columnsSearchable = request.Columns.Where(c => c.Searchable && !string.IsNullOrEmpty(c.Name)).ToList(); string search = string.Empty; string aux = string.Empty; foreach (var column in columnsSearchable) { query = query.Where(ExpressionUtils.BuildPredicate <T>(column.Name, "Contains", request.Search.Value)); } return(query); }