public static async Task <PagedResultDTO <TDTO> > GetPage <TEntity, TDTO>(this SFDbContext dbContext, IMapper mapper, IQueryable <TEntity> query, int page, int pageSize) where TEntity : class where TDTO : class { if (page < 1) { throw new BadArgumentException("Page cannot be less than 1."); } if (pageSize < 1 || pageSize > 50) { throw new BadArgumentException("Page can contain from 1 to 50 objects."); } var countOfSkips = (page - 1) * pageSize; var entities = await query .AsNoTracking() .Skip(countOfSkips) .Take(pageSize) .ToListAsync(); var DTOs = mapper.Map <List <TDTO> >(entities); var pagedResultDTO = new PagedResultDTO <TDTO> { Data = DTOs, Page = page, PageSize = pageSize, TotalCount = query.Count() }; return(pagedResultDTO); }
public async Task <PagedResultDTO <GamePartialDTO> > GetUserGames(int userID, int?pageIndex, int?pageSize) { if (uow == null) { return(null); } var user = await uow.GetRepository <User>().GetByIdAsync(userID); if (user == null) { return(null); } var sidesPage = (await uow.GetRepository <Side>() .GetAllPagedAsync(pageIndex, pageSize, s => s.PlayerId == user.Id)); var gamesPage = new PagedResultDTO <GamePartialDTO>() { PageCount = sidesPage.PageCount, PageIndex = sidesPage.PageIndex, PageSize = sidesPage.PageSize, TotalDataRowsCount = sidesPage.TotalDataRowsCount, DataRows = mapper.Map <IEnumerable <GamePartialDTO> >(sidesPage.DataRows.Select(s => s.Game).ToList()) }; return(gamesPage); }
public IHttpActionResult Get(int page = 1, int pageSize = 10) { page = page > 0 ? page : 1; pageSize = pageSize > 0 ? pageSize : 10; PagedResultDTO <TestResultDTO> pagedResultDTO = _resultService.GetPaged(page, pageSize); PagedResultModel <TestResultModel> pagedResult = _mapper.Map <PagedResultDTO <TestResultDTO>, PagedResultModel <TestResultModel> >(pagedResultDTO); return(Ok(pagedResult)); }
public IHttpActionResult Get(string query = "", int page = 1, int pageSize = 10) { string searchQuery = String.IsNullOrEmpty(query) ? "" : query; page = page > 0 ? page : 1; pageSize = pageSize > 0 ? pageSize : 10; PagedResultDTO <TestDTO> pagedResultDTO = _testService.GetPaged(searchQuery, page, pageSize); PagedResultModel <TestModel> pagedResult = _mapper.Map <PagedResultDTO <TestDTO>, PagedResultModel <TestModel> >(pagedResultDTO); return(Ok(pagedResult)); }
public async Task <IHttpActionResult> Get( string query = "", int page = 1, int pageSize = 10) { string searchQuery = String.IsNullOrEmpty(query) ? "" : query; page = page > 0 ? page : 1; pageSize = pageSize > 0 ? pageSize : 10; PagedResultDTO <UserDTO> pagedResultDTO = await _userService.GetPaged(searchQuery, page, pageSize); PagedResultModel <UserModel> pagedResult = _mapper.Map <PagedResultDTO <UserDTO>, PagedResultModel <UserModel> >(pagedResultDTO); return(Ok(pagedResult)); }
public static async Task <PagedResultDTO <T> > GetPaged <T>(this IQueryable <T> query, PaginationRequest paging) where T : class { var pagedResult = new PagedResultDTO <T> { PageNumber = paging.PageNumber, PageSize = paging.PageSize }; pagedResult.MaxItems = await query.CountAsync(); pagedResult.PageCount = GetPageCount(paging, pagedResult.MaxItems); var skipCount = GetSkipCount(paging); pagedResult.Result = await query.Skip(skipCount).Take(paging.PageSize).ToListAsync(); return(pagedResult); }
public override async Task <PagedResultDTO <GameFullDTO> > GetListAsync(int?pageIndex = null, int?pageSize = null) { if (uow == null) { return(null); } var currentUser = await _currentUserProvider.GetCurrentUserAsync(); var sidesPage = (await uow.GetRepository <Side>() .GetAllPagedAsync(pageIndex, pageSize, s => s.PlayerId == currentUser.Id)); var gamesPage = new PagedResultDTO <GameFullDTO>() { PageCount = sidesPage.PageCount, PageIndex = sidesPage.PageIndex, PageSize = sidesPage.PageSize, TotalDataRowsCount = sidesPage.TotalDataRowsCount, DataRows = mapper.Map <IEnumerable <GamePartialDTO> >(sidesPage.DataRows.Select(s => s.Game).ToList()) }; return(gamesPage); }
public async Task <PagedResultDTO <QuestionToApproveDTO> > GetPagedQuestionsAsync( int page, int pageSize, string searchRequest = "") { var pagedResult = new PagedResultDTO <QuestionToApproveDTO>(); var unapprovedQuestions = await _quesitonRepository.GetUnapprovedQuestionsCountAsync(searchRequest); pageSize = PageVerifier.CheckPageSize(pageSize, unapprovedQuestions); pagedResult.TotalPages = (int)Math.Ceiling(unapprovedQuestions / (float)pageSize); page = PageVerifier.CheckPage(page, pagedResult.TotalPages); pagedResult.Items = _mapper.Map <List <QuestionToApproveDTO> >( await _quesitonRepository.GetQuesitonsPageAsync(page, pageSize, searchRequest)); if (pagedResult.Items == null) { return(null); } return(pagedResult); }