public async Task <IActionResult> GetAlbumToEditView([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var album = await _context.Album.FindAsync(id);

            var artistName = _context.Artist
                             .Where(art => art.Id == album.ArtistId)
                             .ToList()
                             .Select(art => art.Name)
                             .First();;

            if (album == null)
            {
                return(NotFound());
            }

            AlbumBasicUpdate albumUpdate = new AlbumBasicUpdate()
            {
                Id            = album.Id,
                Name          = album.Name,
                Genre         = album.Genre,
                YearOfRelease = album.YearOfRelease,
                AlbumImage    = album.LinkToImage,
                ArtistName    = artistName,
            };

            return(Ok(albumUpdate));
        }
        public async Task <IActionResult> PutAlbum([FromRoute] int id, [FromBody] AlbumBasicUpdate albumBasicUpdate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            Artist artist   = _context.Artist.Where(art => art.Name == albumBasicUpdate.ArtistName).ToList().First();
            int    artistId = _context.Artist
                              .Where(art => art.Name == albumBasicUpdate.ArtistName)
                              .ToList()
                              .Select(art => art.Id)
                              .First();

            Album newAlbum = new Album(albumBasicUpdate.Genre,
                                       albumBasicUpdate.YearOfRelease,
                                       albumBasicUpdate.Name,
                                       albumBasicUpdate.AlbumImage,
                                       artistId,
                                       artist);

            newAlbum.Id = albumBasicUpdate.Id;



            if (id != newAlbum.Id)
            {
                return(BadRequest());
            }

            _context.Entry(newAlbum).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AlbumExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }