Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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;
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
 public DataGridResponse(DataGridRequest queryString)
 {
     _queryString = queryString;
 }