Exemplo n.º 1
0
        public List <LeagueReiting> GetLeagueReiting()
        {
            List <LeagueReiting> selects = new List <LeagueReiting>();
            List <LeagueReiting> answer  = new List <LeagueReiting>();

            foreach (var league in leagues)
            {
                var Team1 = league.matches.Where(x => x.score != null).GroupBy(b => b.team1).Select(g => new Team
                {
                    Name        = g.Key,
                    TotalScored = g.Sum(a => a.score.ft[0]),
                    TotalMissed = g.Sum(a => a.score.ft[1]),
                }).ToList();
                var Team2 = league.matches.Where(x => x.score != null).GroupBy(b => b.team2).Select(g => new Team
                {
                    Name        = g.Key,
                    TotalScored = g.Sum(a => a.score.ft[1]),
                    TotalMissed = g.Sum(a => a.score.ft[0]),
                }).ToList();
                Team1.AddRange(Team2);
                var query1 = new LeagueReiting
                {
                    Name  = league.name,
                    Teams = Team1
                };
                selects.Add(query1);
            }
            foreach (var League in selects)
            {
                var teams = League.Teams.GroupBy(x => x.Name).Select(g => new Team
                {
                    Name        = g.Key,
                    TotalScored = g.Sum(a => a.TotalScored),
                    TotalMissed = g.Sum(a => a.TotalMissed),
                }).ToList();
                var result = new LeagueReiting
                {
                    Name  = League.Name,
                    Teams = teams
                };
                answer.Add(result);
            }
            return(answer);
        }
Exemplo n.º 2
0
        public List <LeagueReiting> GetBestProtectiveTeam()
        {
            List <LeagueReiting> leagueReitings = GetLeagueReiting();
            List <LeagueReiting> bestTeams      = new List <LeagueReiting>();

            foreach (var League in leagueReitings)
            {
                var team   = League.Teams.OrderBy(x => x.TotalMissed).FirstOrDefault();
                var result = new LeagueReiting
                {
                    Name  = League.Name,
                    Teams = new List <Team> {
                        team
                    }
                };
                bestTeams.Add(result);
            }

            return(bestTeams);
        }
Exemplo n.º 3
0
        public List <LeagueReiting> GetBestAttakingTeam()
        {
            List <LeagueReiting> leagueReitings = GetLeagueReiting();
            List <LeagueReiting> bestTeams      = new List <LeagueReiting>();

            foreach (var league in leagueReitings)
            {
                var team   = league.Teams.OrderByDescending(x => x.TotalScored).FirstOrDefault();
                var result = new LeagueReiting
                {
                    Name  = league.Name,
                    Teams = new List <Team> {
                        team
                    }
                };
                bestTeams.Add(result);
            }

            return(bestTeams);
        }