コード例 #1
0
 protected void ClearStoredData(IGridQuery <T> query)
 {
     //if (HttpContext.Session.Keys.Contains(query.GetKey()))
     //{
     //    HttpContext.Session.Remove(query.GetKey());
     //}
 }
コード例 #2
0
 public void ClearStoredData(IGridQuery <T> query)
 {
     if (Controller.HttpContext.Session.Keys.Contains(query.GetCacheKey()))
     {
         Controller.HttpContext.Session.Remove(query.GetCacheKey());
     }
 }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IActionResult LoadGridData(IGridQuery <T> query)
        {
            ////try
            ////{
            var draw = Controller.HttpContext.Request.Form["draw"].FirstOrDefault();
            // Skiping number of Rows count
            var start = Controller.Request.Form["start"].FirstOrDefault();
            // Paging Length 10,20
            var length = Controller.Request.Form["length"].FirstOrDefault();
            // Sort Column Name
            var sortColumn = Controller.Request.Form["columns[" + Controller.Request.Form["order[0][column]"].FirstOrDefault() + "][name]"].FirstOrDefault();
            // Sort Column Direction ( asc ,desc)
            var sortColumnDirection = Controller.Request.Form["order[0][dir]"].FirstOrDefault();
            // Search Value from (Search box)
            var searchValue = Controller.Request.Form["search[value]"].FirstOrDefault();

            //Paging Size (10,20,50,100)
            int pageSize = length != null?Convert.ToInt32(length) : 0;

            int skip = start != null?Convert.ToInt32(start) : 0;

            int recordsTotal = 0;

            // Getting all Sign data
            var request = LoadStoredData(query);

            if (request.Success)
            {
                var signData = request.Value;

                //Sorting
                if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDirection)))
                {
                    signData = signData.OrderBy(sortColumn + " " + sortColumnDirection);
                }
                //Search
                if (!string.IsNullOrEmpty(searchValue))
                {
                    signData = signData.WhereAny(query.Search($"%{searchValue}%"));
                }

                //Paging
                var data = signData.Skip(skip).Take(pageSize).ToList();
                //total number of rows count
                recordsTotal = signData.Count();
                //Returning Json Data
                return(Controller.Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }));
            }
            else
            {
                return(Controller.NotFound());
            }
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="query"></param>
        /// <param name="id">Id Устава</param>
        /// <returns></returns>
        protected IActionResult LoadGridData(IGridQuery <T> query, int?id = null)
        {
            try
            {
                if (id.HasValue && !IsAuthorizedToEdit(id.Value))
                {
                    return(Unauthorized());
                }

                return(base.LoadGridData(query));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #5
0
        public DynamicParameters ConfigureParameters(IGridQuery query)
        {
            var currentPage = query.PagingConfiguration?.Page.GetValueOrDefault() ?? 1;
            var pageSize    = query.PagingConfiguration?.ItemsPerPage.GetValueOrDefault() ?? 100;
            var sortField   = query.SortingConfiguration?.FirstOrDefault()?.Field;
            var sortOrder   = query.SortingConfiguration?.FirstOrDefault()?.Order;
            var filters     = query.FilteringConfiguration?.Filters.ToDictionary(f => f.Field, f => f.Value);

            ConvertArraysToStrings(filters !);

            var parameters = new DynamicParameters(filters);

            parameters.Add("offset", (currentPage - 1) * pageSize);
            parameters.Add("size", pageSize);
            parameters.Add("sortField", sortField);
            parameters.Add("sortOrder", sortOrder.ToString());
            return(parameters);
        }
コード例 #6
0
        private Result <IQueryable <T> > LoadStoredData(IGridQuery <T> query)
        {
            if (StoreToSession && Controller.HttpContext.Session.Keys.Contains(query.GetCacheKey()))
            {
                return(Result.Ok(Controller.HttpContext.Session.Get <List <T> >(query.GetCacheKey()).AsQueryable()));
            }
            else
            {
                var request = QueryProcessor.Process(query);
                if (request.Success)
                {
                    var col = request.Value.ToList();

                    if (StoreToSession)
                    {
                        //если сохраняем в сессию
                        Controller.HttpContext.Session.Set(query.GetCacheKey(), col);
                    }
                }

                return(request);
            }
        }
コード例 #7
0
 protected override bool DoHandleOnGrid(IGridQuery <bool> query, XElement grid)
 {
     DoHandleCalls++;
     TargetGrid = grid;
     return(true);
 }
コード例 #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 protected IActionResult LoadGridData(IGridQuery <T> query) => _gridStore.LoadGridData(query);