public ActionResult AddMovieList([Bind(Include = "Id, Title")] PersonalMovieList pml) { if (ModelState.IsValid) { //pml.movies = new List<Movie>(); pml.UserId = (db.Users.Where(i => i.Username == User.Identity.Name).Select(i => i.Id).ToList())[0]; db.PersonalMovieLists.Add(pml); db.SaveChanges(); return(RedirectToAction("Movies")); } return(View(pml)); }
public ActionResult RemoveMovieFromPersonalMovieList(int listId, int movieId) { PersonalMovieList PML = db.PersonalMovieLists.Include(a => a.Movies).FirstOrDefault(i => i.Id == listId); foreach (var movie in PML.Movies) { if (movie.Id == movieId) { PML.Movies.Remove(movie); db.SaveChanges(); break; } } return(RedirectToAction("Movies")); }
public ActionResult AddMovieToPersonalMovieList(int listId, int movieId) { PersonalMovieList PML = db.PersonalMovieLists.Include(a => a.Movies).FirstOrDefault(i => i.Id == listId); if (PML.Title == "Watched" || PML.Title == "Want-to-watch") { Movie M = db.Movies.Include(a => a.PersonalMovieLists).FirstOrDefault(i => i.Id == movieId); foreach (var pml in M.PersonalMovieLists) { if (pml.Title == "Watched" || pml.Title == "Want-to-watch") { M.PersonalMovieLists.Remove(pml); db.SaveChanges(); break; } } MovieListUpdate mlu = db.Updates.OfType <MovieListUpdate>().FirstOrDefault(i => i.User.Id == PML.UserId && i.Movie.Id == movieId); if (mlu != null) { mlu.UpdateTime = DateTime.Now; mlu.Content = PML.Title; } else { mlu = new MovieListUpdate() { UpdateTime = DateTime.Now, User = db.Users.FirstOrDefault(i => i.Username == User.Identity.Name), Movie = db.Movies.Find(movieId), Content = PML.Title }; db.Updates.Add(mlu); } } db.PersonalMovieLists.Find(listId).Movies.Add(db.Movies.Find(movieId)); db.SaveChanges(); return(RedirectToAction("Movies")); }