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