Пример #1
0
 public SavedQueryResult GetQueryResult([FromBody] SavedQueryProcessModel model)
 {
     if (!User.IsInRole("Administrator"))
     {
         model.ConnectionStringName = User.Claims.FirstOrDefault(x => x.Type == "Entity").Value.Substring(0, 3);
     }
     return(this.dataManager.ProcessSavedQuery(model));
 }
Пример #2
0
        ///<inheritdoc/>
        public SavedQueryResult ProcessSavedQuery(SavedQueryProcessModel model)
        {
            var res = this.dal.ProcessSavedQuery(model.Id, model.Filters);

            res.Query.PagingModel          = model.Pagination;
            res.Query.ConnectionStringName = model.ConnectionStringName;
            this.PrepareDateFilters(model.Comparisons);

            res.QueryResult =
                this.tableDataManager.ProcessQuery(res.Query, model.Comparisons, model.ExternalCalculations);
            return(res);
        }
Пример #3
0
        public async Task Export([FromBody] SavedQueryProcessModel model)
        {
            if (!User.IsInRole("Administrator"))
            {
                model.ConnectionStringName = User.Claims.FirstOrDefault(x => x.Type == "Entity").Value.Substring(0, 3);
            }
            var data          = dataManager.GetAllRecords(model);
            var bytesInStream = await ConvertResultToByteArray(data.QueryResult);

            if (bytesInStream.Length > 0)
            {
                HttpContext.Response.ContentType = "application/force-download";
                var name = $"attachment; filename=Data-{DateTime.UtcNow:s}.csv";
                HttpContext.Response.Headers.Add("content-disposition", name);
                await HttpContext.Response.Body.WriteAsync(bytesInStream, 0, bytesInStream.Length);
            }
        }