using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.EntityFrameworkCore; using RazorPagesMovie.Models; using Microsoft.AspNetCore.Mvc.Rendering; namespace RazorPagesMovie.Pages.Movies { public class IndexModel : PageModel { private readonly RazorPagesMovie.Models.RazorPagesMovieContext _context; public IndexModel(RazorPagesMovie.Models.RazorPagesMovieContext context) { _context = context; } public IList Movie { get;set; } public SelectList Genres; public string MovieGenre { get; set; } public async Task OnGetAsync(string movieGenre, string searchString) { IQueryable 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); } Genres = new SelectList(await genreQuery.Distinct().ToListAsync()); Movie = await movies.ToListAsync(); } } }