public async Task <ResultTable> FindRowsLike([Required, FromBody] AutocompleteQueryRequestTS request, CancellationToken token) { var qn = QueryLogic.ToQueryName(request.queryKey); var qd = QueryLogic.Queries.QueryDescription(qn); var dqRequest = new DQueryableRequest { QueryName = qn, Columns = request.columns.EmptyIfNull().Select(a => a.ToColumn(qd, false)).ToList(), Filters = request.filters.EmptyIfNull().Select(a => a.ToFilter(qd, false)).ToList(), Orders = request.orders.EmptyIfNull().Select(a => a.ToOrder(qd, false)).ToList() }; var dqueryable = QueryLogic.Queries.GetDQueryable(dqRequest); var entityType = qd.Columns.Single(a => a.IsEntity).Implementations !.Value.Types.SingleEx(); var result = await dqueryable.Query.AutocompleteUntypedAsync(dqueryable.Context.GetEntitySelector(), request.subString, request.count, entityType, token); var columnAccessors = dqRequest.Columns.Select(c => ( column: c, lambda: Expression.Lambda(c.Token.BuildExpression(dqueryable.Context), dqueryable.Context.Parameter) )).ToList(); return(DQueryable.ToResultTable(result.ToArray(), columnAccessors, null, new Pagination.Firsts(request.count))); }
public override DQueryable <object> GetDQueryable(DQueryableRequest request) { request.Columns.Insert(0, new _EntityColumn(EntityColumnFactory().BuildColumnDescription(), QueryName)); DQueryable <T> query = Query .ToDQueryable(GetQueryDescription()) .SelectMany(request.Multiplications) .OrderBy(request.Orders) .Where(request.Filters) .Select(request.Columns) .TryTake(request.Count); return(new DQueryable <object>(query.Query, query.Context)); }
public DQueryable <object> GetDQueryable(DQueryableRequest request) { return(Execute(ExecuteType.GetDQueryable, request.QueryName, null, dqb => dqb.Core.Value.GetDQueryable(request))); }
public override DQueryable <object> GetDQueryable(DQueryableRequest request) { throw new NotImplementedException(); }