예제 #1
0
        public static PaginatedResult <T> Paginate <T>(this IQueryable <T> query,
                                                       PaginatedConfiguration pagination)
        {
            var totalCount  = query.Count();
            var pageIndex   = pagination.PageIndex;
            var countToSkip = (pageIndex < 1 ? 0 : pageIndex - 1) * pageIndex;
            var pageSize    = pagination.PageSize;
            var result      = query.Skip(countToSkip).Take(pageSize).ToList();

            return(new PaginatedResult <T>(pageIndex, pageSize, result, totalCount));
        }
예제 #2
0
        public PaginatedResult <ItemViewModel> Get(PaginatedConfiguration pagination)
        {
            var items = _itemsService.GetItems(pagination);

            return(items);
        }
예제 #3
0
        public IActionResult Index(PaginatedConfiguration pagination)
        {
            var result = Get(pagination);

            return(View(result));
        }
예제 #4
0
 public PaginatedResult <CustomerDTO> GetPaginated(string sortExpression,
                                                   PaginatedConfiguration pagination)
 {
     AutoMapper.Mapper.CreateMap <Customer, CustomerDTO>();
     return(_customersRepository.GetAll(sortExpression).ProjectTo <CustomerDTO>().Paginate(pagination));
 }