// 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));
        }
Exemple #2
0
        // 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));
        }