/// <summary> /// Builds a filtered result query from a filtered queryable, that assumes client side paging. /// </summary> /// <typeparam name="TIn">The type of the t in.</typeparam> /// <typeparam name="TOut">The type of the t out.</typeparam> /// <param name="qry">The qry.</param> /// <param name="request">The request.</param> /// <param name="projection">Select projection</param> /// <param name="serializeSettings">Map serialize settings</param> /// <returns>Task<List<dynamic>>.</returns> public static IQueryable FilteredResultsQuery <TIn, TOut>(this IQueryable <TIn> qry, IFilteredQuery request, Func <TIn, TOut> projection = null, JsonSerializerSettings serializeSettings = null ) where TOut : new() { var result = qry .BuildFilteredQueryable(request) .BuildOutputQueryable(projection, serializeSettings); Console.WriteLine(result.Expression.ToString()); return(result); }
internal static bool IsConditionless(IFilteredQuery q) { if (q.Query == null && q.Filter == null) { return(true); } if (q.Filter == null && q.Query != null) { return(q.Query.IsConditionless); } if (q.Filter != null && q.Query == null) { return(q.Filter.IsConditionless); } return(q.Query.IsConditionless && q.Filter.IsConditionless); }
public virtual void Visit(IFilteredQuery query) { Write("filtered"); }
public virtual void Visit(IFilteredQuery customFiltersScore) { }
public FilteredCrudFacadeBase(IFilteredQuery <TListDTO, TFilterDTO> query, IRepository <TEntity, TKey> repository, IEntityDTOMapper <TEntity, TDetailDTO> mapper) : base(query, repository, mapper) { }
public virtual void Visit(IFilteredQuery query) { }
private static IQueryable <TIn> BuildFilteredQueryable <TIn>(this IQueryable <TIn> source, IFilteredQuery request ) { return(request.Filter.IsEmptyNullOrWhiteSpace() ? source : source.Where(request.Filter)); }
private static void AddSqlBuilderWhereClause(IFilteredQuery <TResult> filteredQuery, ISqlBuilder sqlBuilder, string filterSql, Dictionary <string, object> args) { switch (filteredQuery.FilteringConfiguration !.Operator) {
private static void AddFiltersToQueryBuilder(IDapperQuery <TResult> dapperQuery, IFilteredQuery <TResult> filteredQuery) { var sqlBuilder = dapperQuery.SqlBuilder; foreach (var filter in filteredQuery.FilteringConfiguration !.Filters !) { var args = filter.GetArguments <TResult>(); var filterSql = GetFilterSql(filter); AddSqlBuilderWhereClause(filteredQuery, sqlBuilder, filterSql, args); } }