// GET: Filmes public async Task <IActionResult> Index(string filmeGenero, string busca) { // Usando uma consulta LINQ para retornar todos os gêneros dos filmes IQueryable <string> consultaGenero = from g in _context.Filme orderby g.Genero select g.Genero; // Consulta LINQ para selecionar filmes : Aqui a consulta foi apenas definida e não executada ainda. var filmes = from m in _context.Filme select m; //verificamos se o parâmetro criterioBusca não for vazio nem nulo a consulta de //filmes será modificada para filtrar pelo critério informado o titulo dos filmes if (!String.IsNullOrEmpty(busca)) { filmes = filmes.Where(f => f.Titulo.Contains(busca)); } //verificamos se o parâmetro Genero não for vazio nem nulo a consulta if (!String.IsNullOrEmpty(filmeGenero)) { filmes = filmes.Where(z => z.Genero == filmeGenero); } var filmeGeneroVM = new FilmeGeneroViewModel(); filmeGeneroVM.generos = new SelectList(await consultaGenero.Distinct().ToListAsync()); filmeGeneroVM.filmes = await filmes.ToListAsync(); return(View(filmeGeneroVM)); //return View(await filmes.ToListAsync()); //return View(await _context.Filme.ToListAsync()); *** Não trazer contexto completo, e sim a variavel de busca = filmes }
// GET: Filmes public async Task <IActionResult> Index(string filmeGenero, string criterioBusca) { IQueryable <string> consultaGenero = from m in _context.Filme orderby m.Genero select m.Genero; var filmes = from m in _context.Filme select m; if (!String.IsNullOrEmpty(criterioBusca)) { filmes = filmes.Where(f => f.Titulo.Contains(criterioBusca)); } if (!String.IsNullOrEmpty(filmeGenero)) { filmes = filmes.Where(x => x.Genero == filmeGenero); } var filmeGeneroVM = new FilmeGeneroViewModel(); filmeGeneroVM.generos = new SelectList(await consultaGenero.Distinct().ToListAsync()); filmeGeneroVM.filmes = await filmes.ToListAsync(); return(View(filmeGeneroVM)); }
// GET: Filmes public async Task <IActionResult> Index(string filmeGenero, string criterioDeBusca) { IQueryable <string> consultaGenero = from f in _context.Filmes orderby f.Genero select f.Genero; var filmes = from f in _context.Filmes select f; if (!string.IsNullOrWhiteSpace(criterioDeBusca)) { filmes = filmes.Where(f => f.Titulo.ToLower().Contains(criterioDeBusca.ToLower())); } if (!string.IsNullOrWhiteSpace(filmeGenero)) { filmes = filmes.Where(f => f.Genero.ToLower().Contains(filmeGenero.ToLower())); } var filmeGeneroVM = new FilmeGeneroViewModel(); filmeGeneroVM.generos = new SelectList(await consultaGenero.Distinct().ToListAsync()); filmeGeneroVM.filmes = await filmes.ToListAsync(); return(View(filmeGeneroVM)); }
// GET: Filmes public async Task <IActionResult> Index(string generoFilme, string StrPesquisa) { IQueryable <string> queryGenero = from m in _context.Filme orderby m.Genero select m.Genero; var filmes = from m in _context.Filme select m; if (!string.IsNullOrEmpty(StrPesquisa)) { filmes = filmes.Where(s => s.Titulo.Contains(StrPesquisa)); } if (!string.IsNullOrEmpty(generoFilme)) { filmes = filmes.Where(x => x.Genero == generoFilme); } var generoFilmeVM = new FilmeGeneroViewModel { Generos = new SelectList(await queryGenero.Distinct().ToListAsync()), Filmes = await filmes.ToListAsync() }; return(View(generoFilmeVM)); }