public ActionResult Create(MovieCreateEditModel movieCreateModel) { try { if (!ModelState.IsValid) { movieCreateModel.Genres = _bestMoviesDBContext.Genres.Select(g => g.Name).ToList(); return(View(movieCreateModel)); } else { var genre = _bestMoviesDBContext.Genres.FirstOrDefault(g => g.Name == movieCreateModel.Genre); var movie = new Movie() { Title = movieCreateModel.Title, Genre = genre, ReleaseDate = (DateTime)movieCreateModel.ReleaseDate, AddedOn = DateTime.Now, NumberInStock = movieCreateModel.NumberInStock }; _bestMoviesDBContext.Movies.Add(movie); _bestMoviesDBContext.SaveChanges(); return(RedirectToAction("Index")); } } catch { return(View()); } }
public ActionResult Edit(int id, MovieCreateEditModel movieEditModel) { try { if (!ModelState.IsValid) { movieEditModel.Genres = _bestMoviesDBContext.Genres.Where(g => g.Name != movieEditModel.Genre).Select(g => g.Name).ToList(); return(View(movieEditModel)); } else { var genre = _bestMoviesDBContext.Genres.FirstOrDefault(g => g.Name == movieEditModel.Genre); var movie = _bestMoviesDBContext.Movies.Find(id); movie.Title = movieEditModel.Title; movie.Genre = genre; movie.ReleaseDate = (DateTime)movieEditModel.ReleaseDate; movie.NumberInStock = movieEditModel.NumberInStock; _bestMoviesDBContext.Entry(movie).State = EntityState.Modified; _bestMoviesDBContext.SaveChanges(); return(RedirectToAction("Index")); } } catch { return(View()); } }
// GET: Customers/Create public ActionResult Create() { var movieCreationModel = new MovieCreateEditModel() { Genres = _bestMoviesDBContext.Genres.Select(g => g.Name).ToList() }; return(View(movieCreationModel)); }
// GET: Customers/Edit/5 public ActionResult Edit(int id) { var movie = _bestMoviesDBContext.Movies.Find(id); var movieEditModel = new MovieCreateEditModel() { Id = movie.Id, Title = movie.Title, Genre = movie.Genre.Name, ReleaseDate = movie.ReleaseDate, NumberInStock = movie.NumberInStock, Genres = _bestMoviesDBContext.Genres.Where(g => g.Name != movie.Genre.Name).Select(g => g.Name).ToList() }; return(View(movieEditModel)); }