public SqlExpression <From> Filter <From>(IRequest request, ISqlExpression expr, IQuery model) { if (QueryFilters == null) { return((SqlExpression <From>)expr); } QueryFilterDelegate filterFn = null; if (!QueryFilters.TryGetValue(model.GetType(), out filterFn)) { foreach (var type in model.GetType().GetInterfaces()) { if (QueryFilters.TryGetValue(type, out filterFn)) { break; } } } if (filterFn != null) { return((SqlExpression <From>)(filterFn(request, expr, model) ?? expr)); } return((SqlExpression <From>)expr); }
public SqlExpression <From> Filter <From>(ISqlExpression q, IQueryDb dto, IRequest req) { if (QueryFilters == null) { return((SqlExpression <From>)q); } QueryFilterDelegate filterFn = null; if (!QueryFilters.TryGetValue(dto.GetType(), out filterFn)) { foreach (var type in dto.GetType().GetInterfaces()) { if (QueryFilters.TryGetValue(type, out filterFn)) { break; } } } if (filterFn != null) { filterFn(q, dto, req); } return((SqlExpression <From>)q); }
public GridSearchResponseBuilder(GridSearchRequestDto request) { _request = request; _enableFilters = new List <IEntityQueryFilter>(); _disableFilters = new List <Type>(); _keywordConditions = new List <Expression <Func <TEntity, bool> > >(); _customQueryFilters = new List <QueryFilterDelegate>(); _customQuerySorter = null; _customColumnFilters = new Dictionary <string, QueryColumnFilterDelegate>(); }
public ISqlExpression Filter(ISqlExpression q, IQueryDb dto, IRequest req) { if (QueryFilters == null) { return(q); } QueryFilterDelegate filterFn = null; if (!QueryFilters.TryGetValue(dto.GetType(), out filterFn)) { foreach (var type in dto.GetType().GetInterfaces()) { if (QueryFilters.TryGetValue(type, out filterFn)) { break; } } } filterFn?.Invoke(q, dto, req); return(q); }
SortQuery(QueryFilterDelegate sortFunc) { _customQuerySorter = sortFunc; return(this); }
FilterQuery(QueryFilterDelegate filterFunc) { _customQueryFilters.Add(filterFunc); return(this); }