public static List <ClubInfo> GetAllTeams(string countryName)
        {
            var htmlDoc = WebPagesAccess.GetHtmlBody(countryName == "England" ? Config.EnglandTeamsUrl : Config.OtherLeaguesUrl);

            if (htmlDoc == null)
            {
                return(null);
            }

            var teamList = htmlDoc.GetElementbyId("team-list").ChildNodes
                           .Where(a => a.Name == "li" && a.FirstChild.Name == "a")
                           .Select(a => a.FirstChild)
                           .Select(a => new ClubInfo {
                ClubName = a.InnerText, Url = a.Attributes["href"].Value
            }).ToList();

            return(countryName == "England"
                                ? getEnglishTeams(teamList)
                                : getOtherTeams(teamList, countryName));
        }
        public static List <Game> GetSeasonGamesForTeam(Season season, string clubName, string url)
        {
            var fullUrl = string.Format("{0}{1}/{2}-{3}/results", Config.MainSite, url, season.FinishYear - 1, season.FinishYear);
            var htmlDoc = WebPagesAccess.GetHtmlBody(fullUrl);

            return(htmlDoc.DocumentNode
                   .SelectSingleNode("//table[@class='results team-results']")
                   .SelectSingleNode("tbody")
                   .SelectNodes("tr")
                   .Where(r => r.Attributes[0].Value != "fix")
                   .Select(tr =>
            {
                var goals = tr.ChildNodes[4].InnerText.Substring(1).Split('-');
                return new Game
                {
                    Season = season,
                    GoalsAgainst = int.Parse(goals[0]),
                    GoalsFor = int.Parse(goals[1]),
                    PositionAfter = getCellValue(tr, 5),
                };
            }).ToList());
        }
        public static ClubHistory               GetAllSeasonsForTeam(string country, string clubName, string url)
        {
            var result = new ClubHistory {
                ClubName = clubName
            };
            var htmlDoc = WebPagesAccess.GetHtmlBody(Config.MainSite + url + "/history");

            result.Seasons = htmlDoc.DocumentNode
                             .SelectSingleNode("//table[@class='table history lightbox']")
                             .SelectNodes("//tr[@data-row]")
                             .Select(a => new Season
            {
                Country     = country,
                FinishYear  = int.Parse(a.ChildNodes[0].InnerText.Substring(5)),
                LeagueOrder = getCellValue(a, 1),
                Position    = getCellValue(a, 2),
                GamesPlayed = getCellValue(a, 3),
                Wins        = getCellValue(a, 4),
                Draws       = getCellValue(a, 5),
                Losses      = getCellValue(a, 6),
                Points      = getCellValue(a, 23),
            }).ToList();
            return(result);
        }