Example #1
0
        public GridItemsViewModel GetGridItemsViewModel(PageSortFilter pageSortFilter, IQueryable <T> items, string gridName = "gridContainer")
        {
            var userId      = _sessionContext.GetUserId();
            var user        = _repository.Find <User>(userId);
            var pager       = new Pager <T>();
            var pageAndSort = pager.PageAndSort(items, pageSortFilter);
            var model       = new GridItemsViewModel
            {
                items   = BuildGrid().GetGridRows(pageAndSort.Items, user, gridName),
                page    = pageAndSort.Page,
                records = pageAndSort.TotalRows,
                total   = pageAndSort.TotalPages
            };

            return(model);
        }
Example #2
0
        public PageDetail PageAndSort(IEnumerable <ENTITY> query, PageSortFilter _pageSortFilter)
        {
            var count = query != null?query.Count() : 0;

            var theQuery = query.AsQueryable();

            if (_pageSortFilter.SortColumn.IsNotEmpty())
            {
                query = (_pageSortFilter.SortAscending)
                            ? theQuery.OrderBy(_pageSortFilter.SortColumn)
                            : theQuery.OrderByDescending(_pageSortFilter.SortColumn);
            }
            return(new PageDetail
            {
                Items = query.Skip(_pageSortFilter.Skip).Take(_pageSortFilter.Take),
                RowsPersPage = _pageSortFilter.Take,
                TotalRows = count,
                Page = _pageSortFilter.Page
            });
        }