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