public async void CreateAlbum(MusicAlbumCreateViewModel model, Artist artist) { Album album = new Album() { Naam = model.Naam, Artist = artist }; using (var memoryStream = new MemoryStream()) { await model.Cover.CopyToAsync(memoryStream); album.Cover = memoryStream.ToArray(); } _appContext.Albums.Add(album); _appContext.SaveChanges(); ArtistAlbumSong artistAlbumSong = new ArtistAlbumSong() { AlbumId = album.Id, ArtistId = album.Artist.Id }; _appContext.ArtistAlbumSongs.Add(artistAlbumSong); _appContext.SaveChanges(); }
public IActionResult AlbumCreate(MusicAlbumCreateViewModel model) { Album albumFromDb = _appContext.Albums.FirstOrDefault(a => a.Naam == model.Naam && a.Artist.Naam == model.Artist); Artist artistFromDb = _appContext.Artists.FirstOrDefault(a => a.Naam == model.Artist); IEnumerable <Songs> songsFromDb = _appContext.Songs.Where(s => s.Artist == artistFromDb); Artist newArtist = new Artist(); if (!TryValidateModel(model)) { return(View(model)); } if (albumFromDb == null) { if (artistFromDb == null) { newArtist = CreateArtist(model.Artist.ToString()); CreateAlbum(model, newArtist); } else { CreateAlbum(model, artistFromDb); } } return(RedirectToAction("Music")); }