private static List <Nhl_Games_Summary> UpdateSeason(int year, NhlSeasonType nhlSeasonType, DateTime fromDate, bool saveToDb) { // Get HTML rows NhlGamesSummary nhl = new NhlGamesSummary(); List <HtmlNode> rows = nhl.GetResultsForSeasonType(year, nhlSeasonType, fromDate); // Parse into a list List <Nhl_Games_Summary> results = new List <Nhl_Games_Summary>(); foreach (HtmlNode row in rows) { Nhl_Games_Summary result = NhlGamesSummary.MapHtmlRowToModel(row, nhlSeasonType); if (null != result) { results.Add(result); } } // Update DB if (saveToDb) { NhlGamesSummary.AddOrUpdateDb(results); } return(results); }
private static Nhl_Games_Summary MapHtmlRowToModel(HtmlNode row, NhlSeasonType nhlSeasonType) { HtmlNodeCollection tdNodes = row.SelectNodes(@"./td"); Nhl_Games_Summary model = new Nhl_Games_Summary(); model.NhlSeasonType = nhlSeasonType; model.Date = Convert.ToDateTime(tdNodes[0].InnerText.Replace("'", "/")); model.Year = NhlModelHelper.GetSeason(model.Date).Item2; model.Visitor = tdNodes[1].InnerText; model.VisitorScore = ConvertStringToInt(tdNodes[2].InnerText); model.Home = tdNodes[3].InnerText; model.HomeScore = ConvertStringToInt(tdNodes[4].InnerText); model.OS = tdNodes[5].InnerText; model.WGoalie = tdNodes[6].InnerText; model.WGoal = tdNodes[7].InnerText; model.VisitorShots = ConvertStringToInt(tdNodes[8].InnerText); model.VisitorPPGF = ConvertStringToInt(tdNodes[9].InnerText); model.VisitorPPOpp = ConvertStringToInt(tdNodes[10].InnerText); model.VisitorPIM = ConvertStringToInt(tdNodes[11].InnerText); model.HomeShots = ConvertStringToInt(tdNodes[12].InnerText); model.HomePPGF = ConvertStringToInt(tdNodes[13].InnerText); model.HomePPOpp = ConvertStringToInt(tdNodes[14].InnerText); model.HomePIM = ConvertStringToInt(tdNodes[15].InnerText); model.Attendance = ConvertStringToInt(tdNodes[16].InnerText.Replace(",", String.Empty)); return(model); }