Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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"));
        }