public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); var result = games.OrderBy(game => game.Category) .ThenBy(game => game.Platform) .ThenBy(game => game.Name).ToList(); var uniqueCategories = result.Select(g => g.Category) .Distinct(); var categoriesSelectsList = new List <SelectListItem>(); var i = 1; uniqueCategories.ToList().ForEach(cat => { var newItem = new SelectListItem { Text = cat, Value = i.ToString() }; categoriesSelectsList.Add(newItem); }); ViewBag.CategoryList = categoriesSelectsList; viewModel.Games = result; return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); viewModel.Games = games; return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); viewModel.Games = games; viewModel.Categories = games.Select(g => g.Category).DistinctBy(c => c); return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); viewModel.Games = games.OrderByDescending(c => c.Category).ThenBy(p => p.Platform).ThenBy(n => n.Name); return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); if (string.IsNullOrEmpty(catFilter)) { viewModel.Games = games.OrderBy(a => a.Category).ThenBy(a => a.Platform).ThenBy(a => a.Name); } else { viewModel.Games = games.Where(a => a.Category == catFilter).OrderBy(a => a.Category).ThenBy(a => a.Platform).ThenBy(a => a.Name); } // Task 4 - create a List of Categories for the dropdown to display viewModel.Categories = games.OrderBy(a => a.Category).Select(a => a.Category).Distinct(); return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); var cats = games.Select(c => c.Category).Distinct(); viewModel.Categories = cats; if (catFilter != null) { viewModel.Games = games.Where(x => x.Category == catFilter); } else { viewModel.Games = games; } return(View(viewModel)); }
public async Task <IActionResult> Index(string catFilter, string returnUrl) { var viewModel = new ViewModels.GamesListViewModel(); var games = await _gameService.GetGamesAsync(GetAuthToken(), returnUrl); if (catFilter != null) { games.Where(w => w.Category == catFilter).ToList(); } viewModel.Games = games .OrderByDescending(o => o.Category) .ThenBy(o => o.Platform) .ThenBy(o => o.Name); var categories = viewModel.Games.Select(s => s.Category).Distinct().ToList(); ViewBag.Categories = new SelectList(categories); return(View(viewModel)); }