Esempio n. 1
0
        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));
        }