// GET: Films public async Task <IActionResult> Index(string filmGenre, string searchString) { // Use LINQ to get a list of genres. IQueryable <string> genreQuery = from m in _context.Film select m.Genre; var films = from m in _context.Film select m; if (!String.IsNullOrEmpty(searchString)) { films = films.Where(s => s.Title.Contains(searchString)); } if (!string.IsNullOrEmpty(filmGenre)) { films = films.Where(x => x.Genre == filmGenre); } var filmGenreVM = new FilmGenreViewModel { Genres = new SelectList(await genreQuery.Distinct().ToListAsync()), Films = await films.ToListAsync() }; return(View(filmGenreVM)); }
// GET: Movies // Requires using Microsoft.AspNetCore.Mvc.Rendering; 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 FilmGenreViewModel(); movieGenreVM.genres = new SelectList(await genreQuery.Distinct().ToListAsync()); movieGenreVM.movies = await movies.ToListAsync(); return(View(movieGenreVM)); }