예제 #1
0
        public async Task <IActionResult> PaginationApplicationSetting(int pageNumber, int onPage)
        {
            var searchPattern = new ApplicationSettingPaginationPattern
            {
                PageNumber = pageNumber,
                OnPage     = onPage
            };
            PaginationResult <ApplicationSetting> searchResult = await applicationSettingRepository.Pagination(searchPattern);

            return(Ok(new PaginationResult <ApplicationSettingDto>
            {
                Items = searchResult.Items.Map(),
                TotalCount = searchResult.TotalCount,
            }));
        }
        public async Task <PaginationResult <ApplicationSetting> > Pagination(ApplicationSettingPaginationPattern searchPattern)
        {
            IQueryable <ApplicationSetting> query = _ctx.ApplicationSettings.AsQueryable();
            int totalCount = query.Count();

            // sorting
            query = query.OrderByDescending(x => x.Id);

            // taking
            query = query.Skip(searchPattern.Skip()).Take(searchPattern.Take());

            return(new PaginationResult <ApplicationSetting>
            {
                Items = await query.ToListAsync(),
                TotalCount = totalCount
            });
        }