private void Filter(Query query, QueryConfig queryConfig, IRequestParameterAdapter parameter)
        {
            if (parameter.IsFilterByColumn == false || parameter.Query == null || parameter.Query.Count() == 0)
            {
                return;
            }

            if (parameter.IsFilterByColumn)
            {
                FilterByColumnStrategy.FilterByColumn(query, queryConfig, parameter);
            }
            else
            {
                FilterByAllFields(query, queryConfig, parameter);
            }
        }
        public async Task <DataResponse <TData> > GetAsync <TData>(QueryConfig queryConfig, IRequestParameterAdapter parameter)
        {
            Query query = queryConfig.Query.Clone();

            queryFactory = QueryFactorySqlKata.Build(queryConfig);

            ProcessQuery(query, queryConfig, parameter);

            var count = await GetCount(query);

            var data = await GetRecords <TData>(query);

            return(new DataResponse <TData>
            {
                Data = data,
                Count = count
            });
        }
Beispiel #3
0
 public QueryConfigDTO(QueryConfig config)
 {
     this.TableName = config.TableName;
     this.Fields    = config.Fields.Select(v => new QueryFieldDTO(v));
 }
 public static QueryFactory Build(QueryConfig queryConfig)
 {
     return(Build(queryConfig.Provider, queryConfig.ConnectionString));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="queryConfig"></param>
 /// <param name="parameter"></param>
 /// <returns></returns>
 public async Task <object> GetAsync(QueryConfig queryConfig, IRequestParameterAdapter parameter) => await GetAsync <object>(queryConfig, parameter);
 public QueryPaginator(QueryConfig queryConfig, IFilterByColumnStrategy filterByColumnStrategy)
 {
     this.QueryConfig            = queryConfig;
     this.filterByColumnStrategy = filterByColumnStrategy;
 }
 public QueryPaginator(QueryConfig queryConfig)
 {
     this.QueryConfig            = queryConfig;
     this.filterByColumnStrategy = new BasicFilterByColumnStrategy();
 }