// GET: Movies public async Task <IActionResult> Index(string movieGenre, string searchString) { //Use LINQ to get list of genres. IQueryable <string> genreQuery = from m in _context.Movie orderby m.Genre select m.Genre; var movies = from m in _context.Movie select m; if (!string.IsNullOrEmpty(searchString)) { movies = movies.Where(s => s.Title.Contains(searchString)); } if (!string.IsNullOrEmpty(movieGenre)) { movies = movies.Where(x => x.Genre == movieGenre); } var movieGenreVM = new MovieGenreView { Genres = new SelectList(await genreQuery.Distinct().ToListAsync()), Movies = await movies.ToListAsync() }; return(View(movieGenreVM)); }
public ActionResult AddMovie() { MovieGenreView MGV = new MovieGenreView() { //Movie = new Movie(), GenreList = _context.GenreTypes }; return(View(MGV)); }
public ActionResult Edit(int id) { MovieGenreView MGV = new MovieGenreView() { Movie = _context.Movies.SingleOrDefault(m => m.Id == id), GenreList = _context.GenreTypes }; if (MGV.Movie == null) { return(HttpNotFound()); } return(View("AddMovie", MGV)); }
public ActionResult Save(MovieGenreView G) { G.GenreList = _context.GenreTypes.ToList(); if (!ModelState.IsValid) { return(View("AddMovie", G)); } if (G.Movie.Id == 0) { _context.Movies.Add(G.Movie); } else { var MovInDb = _context.Movies.SingleOrDefault(c => c.Id == G.Movie.Id); MovInDb.Id = G.Movie.Id; MovInDb.Name = G.Movie.Name; //MovInDb.DateAdded = G.Movie.DateAdded; MovInDb.ReleaseDate = G.Movie.ReleaseDate; MovInDb.NumberInStock = G.Movie.NumberInStock; MovInDb.GenreTypeId = G.Movie.GenreTypeId; } _context.SaveChanges(); return(RedirectToAction("Index", "Movies")); }