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); }
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); }
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); }
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); }
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); }
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)); }
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)); }
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)); }