Esempio n. 1
0
        public AlbumBaseViewModel AlbumAddNew(AlbumAddViewModel newAlbum)
        {
            var artist     = ds.Artists.Find(newAlbum.ArtistId);
            var addedAlbum = ds.Albums.Add(mapper.Map <AlbumAddViewModel, Album>(newAlbum));

            addedAlbum.Artists.Add(artist);

            ds.SaveChanges();

            return(addedAlbum != null?mapper.Map <Album, AlbumBaseViewModel>(addedAlbum) : null);
        }
Esempio n. 2
0
        public ActionResult AddAlbum(AlbumAddViewModel newItem)
        {
            if (!ModelState.IsValid)
            {
                return(View(newItem));
            }
            var addedItem = m.AddNewAlbum(newItem);

            if (addedItem == null)
            {
                return(View(newItem));
            }
            else
            {
                return(RedirectToAction("details", "albums", new { id = addedItem.Id }));
            }
        }
        //7. AlbumAdd
        public AlbumWithDetailViewModel AlbumAdd(AlbumAddViewModel newItem)
        {
            var artistAlbum = ds.Artists.Find(newItem.Id);

            if (artistAlbum == null)
            {
                return(null);
            }
            else
            {
                // Attempt to add the new item
                var addedAlbum = ds.Albums.Add(mapper.Map <AlbumAddViewModel, Album>(newItem));
                addedAlbum.Artists.Add(artistAlbum);
                addedAlbum.Coordinator = User.Name;

                ds.SaveChanges();
                return((addedAlbum == null) ? null : mapper.Map <Album, AlbumWithDetailViewModel>(addedAlbum));
            }
        }
        public ActionResult AddAlbum(AlbumAddViewModel newItem)
        {
            // Validate the input
            if (!ModelState.IsValid)
            {
                return(View(newItem));
            }

            // Process the input
            var addedItem = m.AlbumAdd(newItem);

            if (addedItem == null)
            {
                return(View(newItem));
            }
            else
            {
                return(RedirectToAction("Details", "Album", new { id = addedItem.Id }));
            }
        }
        public AlbumBaseViewModel AddNewAlbum(AlbumAddViewModel newItem)
        {
            var u = HttpContext.Current.User.Identity.Name;
            var a = ds.Artists.Find(newItem.ArtistId);
            var g = ds.Genres.Find(newItem.GenreId);

            if (a == null || g == null)
            {
                return(null);
            }
            else
            {
                var addedItem = ds.Albums.Add(mapper.Map <AlbumAddViewModel, Album>(newItem));
                addedItem.Artists.Add(a);
                addedItem.Genre       = g.Name;
                addedItem.Coordinator = u;
                ds.SaveChanges();

                return(addedItem == null ? null : mapper.Map <Album, AlbumBaseViewModel>(addedItem));
            }
        }
        //7. Album Add
        public AlbumWithDetailViewModel AlbumAdd(AlbumAddViewModel newItem)
        {
            //artists
            var myList = new List <Artist>(); //empty artist list

            foreach (var item in newItem.ArtistIds)
            {
                var a = ds.Artists.Find(item);
                if (a != null)
                {
                    myList.Add(a);
                }
                else
                {
                    return(null);
                }
            }

            //tracks
            var myTracks = new List <Track>(); //empty track list

            foreach (var item in newItem.TrackIds)
            {
                var b = ds.Tracks.Find(item);
                if (b != null)
                {
                    myTracks.Add(b);
                }
                else
                {
                    return(null);
                }
            }

            //attempt to add the new album
            var addedItem = ds.Albums.Add(mapper.Map <AlbumAddViewModel, Album>(newItem));

            //add artists to the album's artists collection
            foreach (var item in newItem.ArtistIds)
            {
                var a = ds.Artists.Find(item);

                addedItem.Artists.Add(a);
                a.Albums.Add(addedItem);
            }

            //add tracks to the album's tracks collection
            foreach (var item in newItem.TrackIds)
            {
                var t = ds.Tracks.Find(item);

                addedItem.Tracks.Add(t);
                t.Albums.Add(addedItem);
            }
            //set the coordinator
            addedItem.Coordinator = User.Name;

            addedItem.Artists = myList;
            addedItem.Tracks  = myTracks;


            //save changes
            ds.SaveChanges();

            //return the album
            return(mapper.Map <Album, AlbumWithDetailViewModel>(addedItem));
        }