Exemple #1
0
        public IList <LeagueStats> GetLeagueStats(int id)
        {
            var matches = _matchesService.GetMatchesForLeague(id);
            var teams   = _context.Leagues.Include(x => x.Teams).FirstOrDefault(x => x.Id == id)?.Teams;
            IList <LeagueStats> leagueStats = new List <LeagueStats>();

            foreach (var team in teams)
            {
                var matchesOfTeam = matches.Where(x => x.HomeTeamId == team.Id || x.AwayTeamId == team.Id);

                var teamLeagueStats = GetLeagueStatsForTeam(matchesOfTeam, team);
                leagueStats.Add(teamLeagueStats);
            }

            return(leagueStats);
        }
        // GET: Leagues/Details/5
        public async Task <IActionResult> Details(int id)
        {
            League league = _leaguesService.GetLeague(id);

            if (league == null)
            {
                return(NotFound());
            }

            var model = new LeagueDetailsViewModel()
            {
                LeagueId    = league.Id,
                LeagueName  = league.Name,
                Matches     = _matchesService.GetMatchesForLeague(league.Id),
                LeagueStats = _leaguesService.GetLeagueStats(league.Id),
                IsAdmin     = User.Identity.Name != null && league.LeagueAdminEmails.Contains(User.Identity.Name)
            };

            return(View(model));
        }