コード例 #1
0
        public async Task <ActionResult <List <EmployeeDTO> > > Get([FromQuery] PaginateDto paginateDto)
        {
            var queryable = context.Employees.AsQueryable();
            await HttpContext.InsertPaginationParametersInHeader(queryable);

            var employees = await queryable.OrderBy(x => x.Id).Paginate(paginateDto).ToListAsync();

            return(mapper.Map <List <EmployeeDTO> >(employees));
        }
コード例 #2
0
        public PaginateDto <Stock> GetAll(PaginateQueryDto paginateDto)
        {
            var res = new PaginateDto <Stock>
            {
                Data = _context.Stock
                       .OrderBy(stock => stock.Name)
                       .Skip(paginateDto.Skip)
                       .Take(paginateDto.Take)
                       .ToList()
            };

            if (paginateDto.RequireTotalCount)
            {
                res.TotalCount = _context.Stock.Count();
            }

            return(res);
        }
コード例 #3
0
        public PaginateDto <Customer> GetAll(PaginateQueryDto paginateDto)
        {
            var res = new PaginateDto <Customer>
            {
                Data = _context.Customers
                       .OrderBy(customer => customer.FirstName)
                       .Skip(paginateDto.Skip)
                       .Take(paginateDto.Take)
                       .ToList()
            };

            if (paginateDto.RequireTotalCount)
            {
                res.TotalCount = _context.Customers.Count();
            }

            return(res);
        }
コード例 #4
0
        public PaginateDto <Product> GetAll(PaginateQueryDto paginateDto)
        {
            var res = new PaginateDto <Product>
            {
                Data = _context.Products
                       .OrderBy(product => product.Name)
                       .Skip(paginateDto.Skip)
                       .Take(paginateDto.Take)
                       .ToList()
            };

            if (paginateDto.RequireTotalCount)
            {
                res.TotalCount = _context.Products.Count();
            }

            return(res);
        }
コード例 #5
0
        public PaginateDto <StockHistory> GetAllHistory(PaginateQueryDto paginateDto)
        {
            var res = new PaginateDto <StockHistory>
            {
                Data = _context.StockHistories
                       .OrderByDescending(stock => stock.Created)
                       .Skip(paginateDto.Skip)
                       .Take(paginateDto.Take)
                       .Include(history => history.Product)
                       .ToList()
            };

            if (paginateDto.RequireTotalCount)
            {
                res.TotalCount = _context.StockHistories.Count();
            }

            return(res);
        }
コード例 #6
0
        public PaginateDto <CustomerInvoice> GetAll(PaginateQueryDto paginateDto)
        {
            var res = new PaginateDto <CustomerInvoice>
            {
                Data = _context.CustomerInvoices
                       .OrderByDescending(invoice => invoice.Created)
                       .Skip(paginateDto.Skip)
                       .Take(paginateDto.Take)
                       .Include(invoice => invoice.Customer)
                       .ToList()
            };

            if (paginateDto.RequireTotalCount)
            {
                res.TotalCount = _context.CustomerInvoices.Count();
            }

            return(res);
        }
コード例 #7
0
 public static IQueryable <T> Paginate <T>(this IQueryable <T> queryable, PaginateDto paginateDto)
 {
     return(queryable
            .Skip((paginateDto.Page - 1) * paginateDto.RecordsByPage)
            .Take(paginateDto.RecordsByPage));
 }