예제 #1
0
        // GET: Matches
        public ActionResult AllMatchesPartial(MatchesListRequest request)
        {
            var matches    = this.matchesService.GetMatches().ToList();
            var countries  = this.countriesService.GetCountries().ToList();
            var results    = this.matchResultsService.GetResults().ToList();
            var betResults = this.betResultsService.GetBetResults().ToList();

            var matchesList = matches.Select(x => ToMatchViewModel(x, results, countries))
                              .Select(x => SetMatchBetResultsAlert(x, betResults))
                              .Select(x => { x.AllowToSave = x.PlayedOn < DateTime.UtcNow; return(x); })
                              .ToList();

            if (request.ExcludeCompleted)
            {
                matchesList = matchesList.Where(x => !x.Completed).ToList();
            }

            if (request.ExcludePending)
            {
                matchesList = matchesList.Where(x => x.Completed).ToList();
            }

            if (request.MatchStage.HasValue)
            {
                matchesList = matchesList.Where(x => x.Stage.Equals(request.MatchStage.Value)).ToList();
            }

            if (request.OrderByDescending)
            {
                matchesList = matchesList.OrderByDescending(x => x.PlayedOn).ToList();
            }
            else
            {
                matchesList = matchesList.OrderBy(x => x.PlayedOn).ToList();
            }

            if (request.Count > 0)
            {
                matchesList = matchesList.Take(request.Count).ToList();
            }

            return(View("AllMatchesPartial", new MatchesListViewModel {
                Matches = matchesList, Request = request
            }));
        }
예제 #2
0
        // GET: Matches
        public ActionResult MyMatchesPartial(MatchesListRequest request)
        {
            var matches   = this.matchesService.GetMatches().ToList();
            var countries = this.countriesService.GetCountries().ToList();
            var bets      = this.matchBetsService.GetUserBets(User.Identity.GetUserId()).ToList();

            var matchesList = matches.Select(x => ToMatchViewModel(x, bets, countries))
                              .Select(x => SetCloseToPlayAlert(x))
                              .Select(x => { x.AllowToSave = x.PlayedOn > DateTime.UtcNow; return(x); })
                              .ToList();

            if (request.ExcludeCompleted)
            {
                matchesList = matchesList.Where(x => !x.Completed).ToList();
            }

            if (request.ExcludePending)
            {
                matchesList = matchesList.Where(x => x.Completed).ToList();
            }

            if (request.OrderByDescending)
            {
                matchesList = matchesList.OrderByDescending(x => x.PlayedOn).ToList();
            }
            else
            {
                matchesList = matchesList.OrderBy(x => x.PlayedOn).ToList();
            }

            if (request.Count > 0)
            {
                matchesList = matchesList.Take(request.Count).ToList();
            }

            return(View("AllMatchesPartial", new MatchesListViewModel {
                Matches = matchesList, Request = request
            }));
        }