Initial commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using RazorPagesMovie.Models;
|
||||
|
||||
namespace RazorPagesMovie.Pages.MoviePages;
|
||||
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
private readonly RazorPagesMovie.Data.RazorPagesMovieContext _context;
|
||||
|
||||
public IndexModel(RazorPagesMovie.Data.RazorPagesMovieContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public IList<Movie> Movie { get; set; } = default!;
|
||||
|
||||
[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()
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user