コード例 #1
0
        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));
        }
コード例 #2
0
        // 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));
        }