public async Task <IActionResult> Index()
        {
            var movies = from m in _context.Movie
                         orderby m.MovieReleaseDate descending
                         select m;

            //--------------------------------------------------------------------------------------------------------------


            ControllerBase BaseMethod = new ControllerBase(_context);

            var MovieVM = new List <Movie>();

            MovieVM = await movies.ToListAsync();

            var moviesCateg = from m in _context.MovieCategory
                              select m;

            var categ = from m in _context.Category
                        select m;

            var MovieCategoryVM = new List <Movie_Category>();

            MovieCategoryVM = await moviesCateg.ToListAsync();

            var CategoryVM = new List <Category>();

            CategoryVM = await categ.ToListAsync();

            List <MovieWCategories> movieWCategories = new List <MovieWCategories>();

            movieWCategories = await BaseMethod.JoinMovies(null, null, true);

            //--------------------------------------------------------------------------------------------------------------

            List <CategoryCount> CategoryCounts = new List <CategoryCount>();

            CategoryCounts = await BaseMethod.NumberOfCategories(MovieCategoryVM, CategoryVM);

            var movieGenreVM = new ShowMovieModel
            {
                Movies     = movieWCategories,
                Categories = CategoryCounts
            };


            return(View(movieGenreVM));
        }
        // GET: Movie
        public async Task <IActionResult> Index(string MovieGenre, string searchString)
        {
            //Use LINQ to get list of genres.
            IQueryable <string> genreQuery = from m in _context.Category
                                             orderby m.CategoryName
                                             select m.CategoryName;
            ControllerBase BaseMethod = new ControllerBase(_context);

            List <MovieWCategories> movieWCategories = new List <MovieWCategories>();

            movieWCategories = await BaseMethod.JoinMovies(MovieGenre, searchString, false);

            var movieGenreVM = new ShowMovieModel
            {
                SelectCategories = new SelectList(await genreQuery.Distinct().ToListAsync()),
                Movies           = movieWCategories
            };

            return(View(movieGenreVM));
        }