Beispiel #1
0
        /// <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&lt;List&lt;dynamic&gt;&gt;.</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");
 }
Beispiel #4
0
 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) { }
		public virtual void Visit(IFilteredQuery customFiltersScore)
		{
		}
Beispiel #9
0
 public virtual void Visit(IFilteredQuery query)
 {
 }
Beispiel #10
0
 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);
            }
        }