public ActionResult Edit(MoviesVM movie) { if (ModelState.IsValid) { // borrar MovieActors where MovieId == movie.Id var query = from m in db.MovieActors where m.MovieId == movie.Id select m; foreach (var item in query) { db.Entry(item).State = EntityState.Deleted; } foreach (var item in movie.Actors) { if (item.Checked) { db.MovieActors.Add(new MovieActors() { ActorId = item.Id, MovieId = movie.Id }); } } //db.Entry(movie).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(movie)); }
// GET: Movie/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Movie movie = db.Movies.Find(id); if (movie == null) { return(HttpNotFound()); } MoviesVM moviesvm = new MoviesVM(); moviesvm.Id = id.Value; moviesvm.Name = movie.Name; List <ActorSelectorVM> actorselectorvm = new List <ActorSelectorVM>(); var result = from a in db.Actors select new { a.Id, a.Name, a.SurName, Checked = ((from m in db.MovieActors where m.ActorId == a.Id && m.MovieId == id select m).Count() > 0) }; foreach (var item in result) { ActorSelectorVM asel = new ActorSelectorVM(); asel.Id = item.Id; asel.Name = item.Name; asel.SurName = item.SurName; asel.Checked = item.Checked; asel.DisplayName = String.Format("{0} {1}", asel.Name, asel.SurName); actorselectorvm.Add(asel); } moviesvm.Actors = actorselectorvm; return(View(moviesvm)); }