Ejemplo n.º 1
0
        public async Task <IActionResult> Index(string titleString, string genreString, string actorString)
        {
            var viewModel = new MoviesIndexData();

            viewModel.Movies = await _context.Movies
                               .Include(a => a.MovieActors)
                               .ThenInclude(a => a.Actor)
                               .AsNoTracking()
                               .ToListAsync();

            if (!String.IsNullOrEmpty(titleString))
            {
                viewModel.Movies = viewModel.Movies.Where(m => m.Title.ToLower().Contains(titleString.Trim().ToLower()));
            }
            else if (!String.IsNullOrEmpty(genreString))
            {
                viewModel.Movies = viewModel.Movies.Where(m => m.Genre.ToLower().Contains(genreString.Trim().ToLower()));
            }
            else if (!String.IsNullOrEmpty(actorString))
            {
                viewModel.Movies = viewModel.Movies.SelectMany(m => m.MovieActors
                                                               .Where(ma => ma.Actor.FirstName.ToLower().Contains(actorString.Trim().ToLower()) ||
                                                                      ma.Actor.LastName.ToLower().Contains(actorString.Trim().ToLower()))
                                                               .Select(u => u.Movie));
            }

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Actors()
        {
            var viewModel = new MoviesIndexData();

            viewModel.Actors = await _context.Actors
                               .Include(a => a.MovieActors)
                               .ThenInclude(a => a.Movie)
                               .AsNoTracking()
                               .ToListAsync();

            return(View(viewModel));
        }