public ActionResult Index() { IEnumerable <Tournament> tournaments = (from t in db.Tournaments orderby t.Date descending select t).ToList(); var tournamentToEntrants = new Dictionary <int, int>(); foreach (Tournament tournament in tournaments) { tournamentToEntrants[tournament.TournamentID] = getPlayerCount(tournament.TournamentID); } if (Request["sort"] != null && Request["sort"] == "name") { tournaments = tournaments.OrderBy(t => t.Name); } else if (Request["sort"] != null && Request["sort"] == "entrants") { tournaments = tournaments.OrderBy(t => t.TournamentID, new EntrantsComparer(tournamentToEntrants)); } db.Dispose(); var vm = new TournamentIndexViewModel(tournaments, tournamentToEntrants); return(View(vm)); }
// GET: Tournaments public async Task <IActionResult> Index() { var viewModel = new TournamentIndexViewModel { Completed = await _service.GetCompletedTournaments(), Upcoming = await _service.GetUpcomingTournaments(), InProgress = await _service.GetInProgressTournaments(), }; return(View(viewModel)); }
public async Task <IActionResult> Filter(string sortOrder, string searchTerm, int?pageNumber, int?pageSize) { sortOrder = sortOrder ?? string.Empty; searchTerm = searchTerm ?? string.Empty; var tournaments = await _tournamentService.FilterTournamentsAsync(sortOrder, searchTerm, pageNumber ?? 1, pageSize ?? 10); var model = new TournamentIndexViewModel(tournaments, sortOrder, searchTerm); return(PartialView("_TournamentTablePartial", model.Table)); }
public async Task <IActionResult> Index() { if (!_memoryCache.TryGetValue("ListOfTournaments", out IPagedList <Tournament> tournaments)) { tournaments = await _tournamentService.FilterTournamentsAsync(); MemoryCacheEntryOptions options = new MemoryCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(25), SlidingExpiration = TimeSpan.FromSeconds(5) }; _memoryCache.Set("ListOfTournaments", tournaments, options); } var model = new TournamentIndexViewModel(tournaments); return(View(model)); }