private void AddSkaterRows(TeamInfo team, HtmlNode rowA, HtmlNode rowB) { var rowValuesA = rowA.Descendants("td").Select(a => a.InnerText).ToList(); var rowValuesB = rowB.Descendants("td").Select(b => b.InnerText).ToList(); var nameValue = rowValuesA.ElementAt(0); var nameAcronyms = nameValue.GetAcronymns(); var skaterRow = new SkaterRow() { Name = Helper.GetName(nameValue), TeamAcronym = Helper.GetTeamAcronym(nameAcronyms), IsForward = rowValuesA.ElementAt(1).Trim().ToUpperInvariant() == "X", IsDefense = rowValuesA.ElementAt(2).Trim().ToUpperInvariant() == "X", }; Helper.GetPlayerTeam(team.Acronym, nameAcronyms, skaterRow); skaterRow.Stats.AddRange(Helper.GetStats(rowValuesA, skaterSkipColumnsA)); skaterRow.Stats.AddRange(Helper.GetStats(rowValuesB, skaterSkipColumnsB)); skaterRow.Stats.Add(Helper.GetFaceoffsWon(rowValuesB[5], skaterRow.Stats.ElementAt(26))); season.SkaterRows.Add(skaterRow); }
private Skater GetSkaterFromRow(Skater previousSkater, SkaterRow skaterRow) { Skater dbSkater = null; if (previousSkater.Name == skaterRow.Name) { dbSkater = previousSkater; } if (dbSkater == null) { dbSkater = db.Skaters.FirstOrDefault(a => a.Name == skaterRow.Name); } if (dbSkater == null) { dbSkater = new Skater() { Name = skaterRow.Name }; db.Skaters.Add(dbSkater); } return(dbSkater); }
private void ExtractSkatersFromSection(TeamInfo team, IList <string> skaterLines) { foreach (string line in skaterLines) { var nameValue = line.Substring(0, 30).Replace("_", "").Trim(); var nameAcronyms = nameValue.GetAcronymns(); SkaterRow skaterRow = new SkaterRow() { Name = Helper.GetName(nameValue), TeamAcronym = Helper.GetTeamAcronym(nameAcronyms) }; Helper.GetPlayerTeam(team.Acronym, nameAcronyms, skaterRow); string rawStatsLine = line.Substring(30, line.Length - 30).Replace("%", "").Trim(); string[] rawStats = rawStatsLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); skaterRow.Stats = Helper.GetStats(rawStats, skaterSkipColumns); skaterRow.Stats.Add(Helper.GetFaceoffsWon(rawStats[28], skaterRow.Stats.ElementAt(26))); season.SkaterRows.Add(skaterRow); } }