Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Unused usings removed.
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.RazorPages;
- using Microsoft.AspNetCore.Mvc.Rendering;
- using Microsoft.EntityFrameworkCore;
- using RazorPagesMovie.Models;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace RazorPagesMovie.Pages.Movies
- {
- public class IndexModel : PageModel
- {
- private readonly RazorPagesMovieContext _context;
- public IndexModel(RazorPagesMovieContext context)
- {
- _context = context;
- }
- public IList<Movie> Movie { get;set; }
- [BindProperty(SupportsGet = true)]
- public string SearchString { get; set; }
- public SelectList Genres { get; set; }
- [BindProperty(SupportsGet = true)]
- public string MovieGenre { get; set; }
- public async Task OnGetAsync()
- {
- // 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);
- }
- Genres = new SelectList(await genreQuery.Distinct().ToListAsync());
- Movie = await movies.ToListAsync();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment