コード例 #1
0
        public IEnumerable <LeagueTableResult> GetAll()
        {
            IEnumerable <LeagueTable> GetLeagueTable(IEnumerable <GameResult> results)
            {
                return(results.GroupBy(r => r.TeamId).Select(g => new LeagueTable
                {
                    TeamId = g.Key,
                    TeamName = g.First().TeamName,
                    Loss = g.Count(x => x.Result == ResultType.Loss),
                    Win = g.Count(x => x.Result == ResultType.Win),
                    Draw = g.Count(x => x.Result == ResultType.Draw),
                    Points = g.Select(x => x.Result == ResultType.Loss ? 0 : (x.Result == ResultType.Draw ? 1 : 3))
                             .Sum()
                }).OrderByDescending(l => l.Points).ToList());
            }

            var result = _gameResultReader.GetAll();

            return(result.GroupBy(r => r.LeagueId)
                   .Select(g => new LeagueTableResult
            {
                League = new League {
                    Id = g.Key, Name = g.First().LeagueName
                },
                LeagueTables = GetLeagueTable(g)
            }));
        }
コード例 #2
0
        public IEnumerable <League> GetAll()
        {
            var results = _gameResultReader.GetAll();

            return(results.GroupBy(r => r.LeagueId).Select(g => new League
            {
                Id = g.Key,
                Name = g.First().LeagueName
            }));
        }