public IActionResult GridDataRetrieval([FromBody] DataGridRequest <object> request) { DataGridResponse <ICollection> response = null; if (string.IsNullOrEmpty(request.GridGuid)) { response = new DataGridResponse <ICollection> { State = ResponseState.DataExpired }; } else { try { response = _gridHandler.GetGridData(request); } catch (Exception e) { _logger.LogError(e, "Error Retriving data from cache"); response = new DataGridResponse <ICollection>() { State = ResponseState.Error }; response.Messages.Add(e.Message); } } return(Json(response)); }
public DataGridResponse <ICollection> CacheData <T>(ICollection data, DataGridRequest <T> request) { var response = new DataGridResponse <ICollection>(); if (string.IsNullOrEmpty(request.GridGuid)) { request.GridGuid = Guid.NewGuid().ToString(); } //Now try to store the try { _cache.Set(request.GridGuid, data, new MemoryCacheEntryOptions { Priority = CacheItemPriority.Normal, SlidingExpiration = TimeSpan.FromHours(8) }); } catch (Exception e) { _logger.LogError(e, "Error Storing Grid cache data"); response.State = ResponseState.Error; response.Messages.Add(e.Message); } if (response.State == 0) { return(GetGridData(request)); } return(response); }
public DataGridResponse(IEnumerable <T> data, DataGridRequest request) { Data = data; Draw = request.Draw; RecordsTotal = request.TotalRows; RecordsFiltered = request.TotalRows; }
public DataGridResponse <ICollection> GetGridData <T>(DataGridRequest <T> request) { var response = new DataGridResponse <ICollection>(); ICollection data; List <SummaryColumn> SummaryColumns = new List <SummaryColumn>(); if (_cache.TryGetValue(request.GridGuid, out data)) { if (data != null) { //if (request.ColumnHeaders.Count > 0) //{ // response.HeaderMetaData = _metaDataHelper.GetColumnsMetaData(request.ColumnHeaders); // foreach(ColumnMetaData metaData in response.HeaderMetaData) // { // if(!string.IsNullOrEmpty(metaData.Aggregate)) // { // SummaryColumns.Add(new SummaryColumn() { ColumnName = metaData.Key, Operation = metaData.Aggregate,Field=metaData.Field }); // } // } // if(SummaryColumns.Count>0) // SummaryColumns.Add(new SummaryColumn() { ColumnName = "#", Operation = "count",Field= "index" }); //} var queryResult = GenerateFilterQuery(data, request.ColumnFilters); //List<GridSummary> gridSummary = GetGridSummary(queryResult, SummaryColumns); if (request.SortColumns != null && request.SortColumns.Count > 0) { try { queryResult = queryResult.OrderBy(string.Join(",", request.SortColumns.Select(s => s.ToString()))); } catch (Exception ex) { //ignore as the grid layout might change and the previsouly-sorted-by column might not exist at all. } } //if (queryResult.Count() > 0) //{ // response.Data = queryResult.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize).ToDynamicList(); // response.TotlaDataCount = queryResult.Count(); // response.Summary = gridSummary; //} //else //{ // response.Data = queryResult.ToDynamicList(); // response.TotlaDataCount = queryResult.Count(); // response.Summary = gridSummary; //} response.Data = queryResult.ToDynamicList(); response.GridGuid = request.GridGuid; } } else { response.State = ResponseState.DataExpired; } return(response); }
public IActionResult GetMetaData([FromBody] DataGridRequest <bool> request) { var result = new DataGridResponse <bool>(); try { result.HeaderMetaData = _gridHandler.GetColumnMetaData(request.ColumnHeaders); } catch (Exception e) { result.State = ResponseState.Error; result.Messages.Add("Error Loading MetaData"); _logger.LogError(e, "Error Loading MetaData"); } return(Json(result)); }
public IActionResult GetProductAttributeParent([FromBody] DataGridRequest <CommonSearchRequest> request) { var response = new DataGridResponse <ICollection>(); try { response.Data = _productService.GetProductAttributeParent(""); response = _gridHandler.CacheData(response.Data, request); } catch (Exception exception) { response.State = ResponseState.Error; response.Messages.Add(exception.Message + " StackTrace==> " + exception.StackTrace); _logger.LogError(exception, "Error Getting GetProductAttributeParent==>" + exception.StackTrace, request); } return(new JsonResult(response)); }
public DataGridResponse(DataGridRequest queryString) { _queryString = queryString; }