Example #1
0
 public static QueryRequest ToQueryRequest(this ChartRequestModel request)
 {
     return(new QueryRequest
     {
         QueryName = request.QueryName,
         GroupResults = request.HasAggregates(),
         Columns = request.GetQueryColumns(),
         Filters = request.Filters,
         Orders = request.GetQueryOrders(),
         Pagination = request.MaxRows.HasValue ? new Pagination.Firsts(request.MaxRows.Value + 1) : new Pagination.All(),
     });
 }
Example #2
0
 static ResultTable ExecuteChart <T>(ChartRequestModel request, DynamicQueryCore <T> dq)
 {
     using (ExecutionMode.UserInterface())
     {
         return(dq.ExecuteQuery(new QueryRequest
         {
             GroupResults = request.HasAggregates(),
             QueryName = request.QueryName,
             Columns = request.GetQueryColumns(),
             Filters = request.Filters,
             Orders = request.GetQueryOrders(),
             Pagination = new Pagination.All(),
         }));
     }
 }
Example #3
0
 static async Task <ResultTable> ExecuteChartAsync <T>(ChartRequestModel request, DynamicQueryCore <T> dq, CancellationToken token)
 {
     using (ExecutionMode.UserInterface())
     {
         return(await dq.ExecuteQueryAsync(new QueryRequest
         {
             GroupResults = request.HasAggregates(),
             QueryName = request.QueryName,
             Columns = request.GetQueryColumns(),
             Filters = request.Filters,
             Orders = request.GetQueryOrders(),
             Pagination = new Pagination.All(),
         }, token));
     }
 }
Example #4
0
        internal static ChartRequestModel ToChartRequest(UserChartEntity userChart)
        {
            var cr = new ChartRequestModel(userChart.Query.ToQueryName())
            {
                ChartScript = userChart.ChartScript,
                Filters     = userChart.Filters.ToFilterList(),
                Parameters  = userChart.Parameters.ToMList(),
            };

            cr.Columns.ZipForeach(userChart.Columns, (a, b) =>
            {
                a.Token        = b.Token == null ? null : new QueryTokenEmbedded(b.Token.Token);
                a.DisplayName  = b.DisplayName;
                a.OrderByIndex = b.OrderByIndex;
                a.OrderByType  = b.OrderByType;
            });

            return(cr);
        }
Example #5
0
        static async Task <ResultTable> ExecuteChartAsync <T>(ChartRequestModel request, DynamicQueryCore <T> dq, CancellationToken token)
        {
            using (ExecutionMode.UserInterface())
            {
                var result = await dq.ExecuteQueryAsync(new QueryRequest
                {
                    GroupResults = request.HasAggregates(),
                    QueryName    = request.QueryName,
                    Columns      = request.GetQueryColumns(),
                    Filters      = request.Filters,
                    Orders       = request.GetQueryOrders(),
                    Pagination   = request.MaxRows.HasValue ? new Pagination.Firsts(request.MaxRows.Value + 1) : new Pagination.All(),
                }, token);


                if (request.MaxRows.HasValue && result.Rows.Length == request.MaxRows.Value)
                {
                    throw new InvalidOperationException($"The chart request for ${request.QueryName} exceeded the max rows ({request.MaxRows})");
                }

                return(result);
            }
        }
Example #6
0
        public static ResultTable ExecuteChart(ChartRequestModel request)
        {
            IDynamicQueryCore core = QueryLogic.Queries.GetQuery(request.QueryName).Core.Value;

            return(miExecuteChart.GetInvoker(core.GetType().GetGenericArguments()[0])(request, core));
        }
Example #7
0
        public static Task <ResultTable> ExecuteChartAsync(ChartRequestModel request, CancellationToken token)
        {
            IDynamicQueryCore core = QueryLogic.Queries.GetQuery(request.QueryName).Core.Value;

            return(miExecuteChartAsync.GetInvoker(core.GetType().GetGenericArguments()[0])(request, core, token));
        }
Example #8
0
 public static ResultTable ExecuteChart(ChartRequestModel request)
 {
     return(QueryLogic.Queries.ExecuteQuery(request.ToQueryRequest()));
 }
Example #9
0
 public static Task <ResultTable> ExecuteChartAsync(ChartRequestModel request, CancellationToken token)
 {
     return(QueryLogic.Queries.ExecuteQueryAsync(request.ToQueryRequest(), token));
 }
Example #10
0
 public ChartScript GetChartScript()
 {
     return(ChartRequestModel.GetChartScriptFunc(this.ChartScript));
 }