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)); }
///<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); }
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); } }