// GET: Movie public async Task <IActionResult> Index(string searchString, string movieCategory) // truyền vào một search string { var movies = from m in _context.Movies.Include(m => m.Category) // movies là mảng chứa các object Movie lấy từ context, được gắn thêm Category vào select m; IQueryable <string> categoryQuery = from m in _context.Movies.Include(m => m.Category) // movies là mảng chứa các object Movie lấy từ context, được gắn thêm Category vào orderby m.Category.Name select m.Category.Name; // Lấy ra danh sách Category Name từ bảng if (!String.IsNullOrEmpty(movieCategory)) { movies = movies.Where(x => x.Category.Name == movieCategory); // lọc lại mảng movies chỉ còn các phần tử có Category Name trùng với chuỗi movieCategory } if (!String.IsNullOrEmpty(searchString)) { movies = movies.Where(p => p.Title.Contains(searchString)); // lọc lại mảng movies chỉ còn các phần tử có Title chứa chuỗi searchString } var movieCategoryVM = new MovieCategoryViewModel { Movies = await movies.ToListAsync(), Categories = new SelectList(await categoryQuery.Distinct().ToListAsync()) }; return(View(movieCategoryVM)); }
public IActionResult AddNewMovies() { // HttpGet and HttpPost - EVERYTHING! MovieCategoryViewModel mcvm = new MovieCategoryViewModel(); var cats = _context.Categories.ToList(); mcvm.Categories = cats; return(View(mcvm)); }