/// <summary> /// Get wining team name in format: "Norwich Lowriders" /// </summary> /// <param name="resultTem"></param> private static void GetWinner(GameResultParseDto resultTem) { var scoreArray = resultTem.Score.Split(null); var homeScore = int.Parse(scoreArray[0]); var awayScore = int.Parse(scoreArray[2]); resultTem.WinningTeamName = homeScore > awayScore ? resultTem.HomeTeamName : resultTem.AwayTeamName; }
// Tested // 15/12/2018 public static IEnumerable <GameResultParseDto> ParseResultDataSource(DataSourceResult source, string nodeClassname) { var results = new List <GameResultParseDto>(); var web = new HtmlWeb(); var htmlDoc = web.Load(source.Url); var htmlTables = ParseHtmlSplitTables(htmlDoc.ParsedText, nodeClassname); foreach (var table in htmlTables) { var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(table); //Gives you all the TR var trs = htmlDocument.DocumentNode.Descendants("TR").ToArray(); var takeCount = (trs.Length - 2); var trsFiltered = trs.Skip(2).Take(takeCount); var trDivisionDetail = trs.First(); var subDivisionDetails = trDivisionDetail.InnerText.Trim(); foreach (var tr in trsFiltered) { // Get All the TD's var tds = tr.Descendants("TD").ToArray(); var rslt = new GameResultParseDto { TimeStamp = GetDate(tds[0].InnerText.Trim()), HomeTeamName = tds[1].InnerText.Trim(), Score = tds[2].InnerText.Trim(), AwayTeamName = tds[3].InnerText.Trim(), SubDivisionParseName = subDivisionDetails }; GetWinner(rslt); results.Add(rslt); } } return(results); }