public async Task <ActionResult <ArtworkToReturnDto> > GetArtwork(int id) { var spec = new ArtworkWithSpecification(id); var artwork = await _artworksRepo.GetEntityWithSpec(spec); if (artwork == null) { return(NotFound(new ApiResponse(404))); } return(_mapper.Map <Artwork, ArtworkToReturnDto>(artwork)); }
public async Task <ActionResult <Pagination <ArtworkToReturnDto> > > GetArtworks([FromQuery] ArtworkSpecParams artworkParams) { var spec = new ArtworkWithSpecification(artworkParams); var countSpec = new ArtworkWithSpecification(artworkParams); var totalItems = await _artworksRepo.CountAsync(countSpec); var artworks = await _artworksRepo.ListAsync(spec); var data = _mapper.Map <IReadOnlyList <Artwork>, IReadOnlyList <ArtworkToReturnDto> >(artworks); return(Ok(new Pagination <ArtworkToReturnDto>(artworkParams.PageIndex, artworkParams.PageSize, totalItems, data))); }