Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }