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