Exemplo n.º 1
0
        public async Task <PagedResultResource <LotResource> > GetLotsByUserNamePaged(string userName, int?page, int pageSize)
        {
            if (!page.HasValue)
            {
                throw new ArgumentNullException("Please, specify the page");
            }

            var user = await _unitOfWork.Users.SingleOrDefaultAsync(u => string.Equals(userName, u.UserName));

            if (user == null)
            {
                throw ExceptionBuilder.Create("User with provided UserName does not exist");
            }

            var lots   = user.Lots.Skip(pageSize * (int)page).Take(pageSize);
            var result = new PagedResultResource <LotResource>
            {
                Data        = _mapper.Map <IEnumerable <LotResource> >(lots),
                CurrentPage = (int)page,
                PageSize    = pageSize,
                RowCount    = lots.Count()
            };

            return(result);
        }
Exemplo n.º 2
0
        public async Task <PagedResultResource <LotResource> > GetLotsByCategoryIdPaged(int categoryId, int?page, int pageSize)
        {
            if (!page.HasValue)
            {
                throw new ArgumentNullException("Please, specify the page");
            }

            var category = await _unitOfWork.Categories.GetByIdAsync(categoryId);

            if (category == null)
            {
                throw ExceptionBuilder.Create("Category with provided Id does not exist");
            }

            var lots   = category.Lots.Skip(pageSize * (int)page).Take(pageSize);
            var result = new PagedResultResource <LotResource>
            {
                Data        = _mapper.Map <IEnumerable <LotResource> >(lots),
                CurrentPage = (int)page,
                PageSize    = pageSize,
                RowCount    = lots.Count()
            };

            return(result);
        }
Exemplo n.º 3
0
        public async Task <PagedResultResource <UserResource> > GetUsersAsAuctionModeratorsPaged(int auctionId, int?page, int pageSize)
        {
            if (!page.HasValue)
            {
                throw new ArgumentNullException("Please, specify the page");
            }

            var auction = await _unitOfWork.Auctions.GetByIdAsync(auctionId);

            if (auction == null)
            {
                throw ExceptionBuilder.Create("Auction with provided Id does not exist");
            }

            var users  = auction.Moderators.Skip(pageSize * (int)page).Take(pageSize);
            var result = new PagedResultResource <UserResource>
            {
                Data        = _mapper.Map <IEnumerable <UserResource> >(users),
                CurrentPage = (int)page,
                PageSize    = pageSize,
                RowCount    = users.Count()
            };

            return(result);
        }
Exemplo n.º 4
0
        public async Task <PagedResultResource <CategoryResource> > GetCategoriesByAuctionIdPaged(int categoryId, int?page, int pageSize)
        {
            if (!page.HasValue)
            {
                throw new ArgumentNullException("Please, specify the page");
            }

            var auction = await _unitOfWork.Auctions.GetByIdAsync(categoryId);

            if (auction == null)
            {
                throw ExceptionBuilder.Create("Auction with provided Id does not exist");
            }

            var categories = auction.Categories;
            var result     = new PagedResultResource <CategoryResource>
            {
                Data = _mapper.Map <IEnumerable <CategoryResource> >(categories),
                //CurrentPage = (int)page,
                //PageSize = pageSize,
                CurrentPage = 1,
                PageSize    = categories.Count(),
                RowCount    = categories.Count()
            };

            return(result);
        }
Exemplo n.º 5
0
        public async Task <PagedResultResource <LotResource> > GetAllPaged(int?page, int pageSize)
        {
            if (!page.HasValue)
            {
                throw new ArgumentNullException("Please, specify the page");
            }

            var pagedData = await _unitOfWork.Lots.GetAllPagedAsync((int)page, pageSize);

            var result = new PagedResultResource <LotResource>(pagedData)
            {
                Data = _mapper.Map <IEnumerable <LotResource> >(pagedData.Results)
            };

            return(result);
        }
Exemplo n.º 6
0
        public async Task <ActionResult <PagedResultResource <LotModel> > > GetLots(int id, [FromQuery] int page = 1, [FromQuery] int pageSize = 5)
        {
            if (page <= 0 || pageSize <= 0)
            {
                return(BadRequest(new ErrorModel {
                    Error = "Can not get result with negative page or pageSize"
                }));
            }
            var lots = await _lotService.GetLotsByCategoryIdPaged(id, page, pageSize);

            var result = new PagedResultResource <LotModel>(lots)
            {
                Data = _mapper.Map <IEnumerable <LotModel> >(lots.Data)
            };

            return(Ok(result));
        }
Exemplo n.º 7
0
        public async Task <ActionResult <PagedResultResource <AuctionModel> > > Get([FromQuery] int page = 1, [FromQuery] int pageSize = 5)
        {
            if (page <= 0 || pageSize <= 0)
            {
                return(BadRequest(new ErrorModel {
                    Error = "Can not get result with negative page or pageSize"
                }));
            }

            var auctions = await _auctionService.GetAllPaged(page, pageSize);

            var result = new PagedResultResource <AuctionModel>(auctions)
            {
                Data = _mapper.Map <IEnumerable <AuctionModel> >(auctions.Data)
            };

            return(Ok(result));
        }
Exemplo n.º 8
0
        public async Task <ActionResult <PagedResultResource <UserModel> > > GetModerators(int id, [FromQuery] int page = 1, [FromQuery] int pageSize = 5)
        {
            if (page <= 0 || pageSize <= 0)
            {
                return(BadRequest(new ErrorModel {
                    Error = "Can not get result with negative page or pageSize"
                }));
            }

            var users = await _userService.GetUsersAsAuctionModeratorsPaged(id, page, pageSize);

            var result = new PagedResultResource <UserModel>(users)
            {
                Data = _mapper.Map <IEnumerable <UserModel> >(users.Data)
            };

            return(Ok(result));
        }