Beispiel #1
0
        // GET: Playlistas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var pListViewModels = new PListViewModels
            {
                Playlist = db.Playlistas.Include(s => s.Songs).FirstOrDefault(s => s.id == id), // pla
            };

            if (pListViewModels.Playlist == null)
            {
                return(HttpNotFound());
            }
            var allPlaylistasList = db.Songs.ToList();

            pListViewModels.AllSongs = allPlaylistasList.Select(x => new SelectListItem
            {
                Text  = x.Tittle + " " + x.Author + " ",
                Value = x.id.ToString()
            });



            return(View(pListViewModels));
        }
Beispiel #2
0
        public ActionResult Edit(PListViewModels pListViewModels)
        {
            if (pListViewModels == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }



            if (ModelState.IsValid)
            {
                var update = db.Playlistas.Include(i => i.Songs).First(i => i.id == pListViewModels.Playlist.id);

                if (TryUpdateModel(update, "Playlist", new string[] { "id_User", "Playlist" }))
                {
                    var song   = db.Playlistas.Where(m => pListViewModels.SelectedSongs.Contains(m.id)).ToList();
                    var upSong = new HashSet <int>(pListViewModels.SelectedSongs);
                    foreach (Song songE in db.Songs)
                    {
                        if (!upSong.Contains(songE.id))
                        {
                            update.Songs.Remove(songE);
                        }
                        else
                        {
                            update.Songs.Add(songE);
                        }
                    }

                    db.Entry(update).State = EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }

            return(View(pListViewModels));
        }