private static void ConvertCellsToStats(IList <HtmlNode> cells, Skater skater) { double[] numericValues = cells.Skip(3).Select(cell => double.Parse(cell.InnerText.Replace("%", ""))).ToArray(); SkaterSeasonStats seasonStats = new SkaterSeasonStats(); if (numericValues.Length == 26) { seasonStats.GP = (int)numericValues[0]; seasonStats.G = (int)numericValues[1]; seasonStats.A = (int)numericValues[2]; seasonStats.P = (int)numericValues[3]; seasonStats.PLMI = (int)numericValues[4]; seasonStats.PIM = (int)numericValues[5]; seasonStats.PM5 = (int)numericValues[6]; seasonStats.HIT = (int)numericValues[7]; seasonStats.HTT = (int)numericValues[8]; seasonStats.SHT = (int)numericValues[9]; seasonStats.OSB = (int)numericValues[10]; seasonStats.OSM = (int)numericValues[11]; //seasonStats.SPER = (int)numericValues[12]; Don't need percentage seasonStats.SB = (int)numericValues[13]; seasonStats.MP = (int)numericValues[14]; //seasonStats.AMG = (int)numericValues[15]; Don't need average seasonStats.PPG = (int)numericValues[16]; seasonStats.PPA = (int)numericValues[17]; seasonStats.PPP = (int)numericValues[18]; seasonStats.PPS = (int)numericValues[19]; seasonStats.PPM = (int)numericValues[20]; seasonStats.PKG = (int)numericValues[21]; seasonStats.PKA = (int)numericValues[22]; seasonStats.PKP = (int)numericValues[23]; seasonStats.PKS = (int)numericValues[24]; seasonStats.PKM = (int)numericValues[25]; } else { seasonStats.GW = (int)numericValues[0]; seasonStats.GT = (int)numericValues[1]; //seasonStats.FOPer = (int)numericValues[2]; Don't need percentage seasonStats.FOT = (int)numericValues[3]; seasonStats.FOW = Helper.GetPercentageAmount(numericValues[2], seasonStats.FOT); seasonStats.GA = (int)numericValues[4]; seasonStats.TA = (int)numericValues[5]; seasonStats.EG = (int)numericValues[6]; seasonStats.HT = (int)numericValues[7]; //skaseasonStatster.P20 = (int)numericValues[8]; Don't need average seasonStats.PSG = (int)numericValues[9]; seasonStats.PSS = (int)numericValues[10]; seasonStats.FW = (int)numericValues[11]; seasonStats.FL = (int)numericValues[12]; seasonStats.FT = (int)numericValues[13]; seasonStats.GS = (int)numericValues[14]; seasonStats.PS = (int)numericValues[15]; seasonStats.WG = (int)numericValues[16]; seasonStats.WP = (int)numericValues[17]; // For some reason traded stats don't track stars. F**K. if (numericValues.Length == 21) { seasonStats.S1 = (int)numericValues[18]; seasonStats.S2 = (int)numericValues[19]; seasonStats.S3 = (int)numericValues[20]; } else { seasonStats.S1 = 0; seasonStats.S2 = 0; seasonStats.S3 = 0; } } skater.SeasonTotals = seasonStats; }
private static void ConvertRawStats(string[] rawStats, Skater skater) { double[] numericValues = rawStats.Select(stats => double.Parse(stats)).ToArray(); SkaterSeasonStats seasonStats = new SkaterSeasonStats(); // Some skater stats are split into two parts. // If there's less than 40 stats it's split in 2 parts if (numericValues.Length > 40) { #region Single Line Stats seasonStats.GP = (int)numericValues[0]; seasonStats.G = (int)numericValues[1]; seasonStats.A = (int)numericValues[2]; seasonStats.P = (int)numericValues[3]; seasonStats.PLMI = (int)numericValues[4]; seasonStats.PIM = (int)numericValues[5]; seasonStats.PM5 = (int)numericValues[6]; seasonStats.HIT = (int)numericValues[7]; seasonStats.HTT = (int)numericValues[8]; seasonStats.SHT = (int)numericValues[9]; seasonStats.OSB = (int)numericValues[10]; seasonStats.OSM = (int)numericValues[11]; //seasonStats.SPER = (int)numericValues[12]; Don't need percentage seasonStats.SB = (int)numericValues[13]; seasonStats.MP = (int)numericValues[14]; //seasonStats.AMG = (int)numericValues[15]; Don't need average seasonStats.PPG = (int)numericValues[16]; seasonStats.PPA = (int)numericValues[17]; seasonStats.PPP = (int)numericValues[18]; seasonStats.PPS = (int)numericValues[19]; seasonStats.PPM = (int)numericValues[20]; seasonStats.PKG = (int)numericValues[21]; seasonStats.PKA = (int)numericValues[22]; seasonStats.PKP = (int)numericValues[23]; seasonStats.PKS = (int)numericValues[24]; seasonStats.PKM = (int)numericValues[25]; seasonStats.GW = (int)numericValues[26]; seasonStats.GT = (int)numericValues[27]; //seasonStats.FOPer = (int)numericValues[28]; Don't need percentage seasonStats.FOT = (int)numericValues[29]; seasonStats.FOW = Helper.GetPercentageAmount(numericValues[28], seasonStats.FOT); seasonStats.GA = (int)numericValues[30]; seasonStats.TA = (int)numericValues[31]; seasonStats.EG = (int)numericValues[32]; seasonStats.HT = (int)numericValues[33]; //skaseasonStatster.P20 = (int)numericValues[34]; Don't need average seasonStats.PSG = (int)numericValues[35]; seasonStats.PSS = (int)numericValues[36]; seasonStats.FW = (int)numericValues[37]; seasonStats.FL = (int)numericValues[38]; seasonStats.FT = (int)numericValues[39]; seasonStats.GS = (int)numericValues[40]; seasonStats.PS = (int)numericValues[41]; seasonStats.WG = (int)numericValues[42]; seasonStats.WP = (int)numericValues[43]; // For some reason traded stats don't track stars. F**K. if (numericValues.Length == 47) { seasonStats.S1 = (int)numericValues[44]; seasonStats.S2 = (int)numericValues[45]; seasonStats.S3 = (int)numericValues[46]; } else { seasonStats.S1 = 0; seasonStats.S2 = 0; seasonStats.S3 = 0; } #endregion } else { #region Multi Line Stats if (numericValues.Length == 26) { seasonStats.GP = (int)numericValues[0]; seasonStats.G = (int)numericValues[1]; seasonStats.A = (int)numericValues[2]; seasonStats.P = (int)numericValues[3]; seasonStats.PLMI = (int)numericValues[4]; seasonStats.PIM = (int)numericValues[5]; seasonStats.PM5 = (int)numericValues[6]; seasonStats.HIT = (int)numericValues[7]; seasonStats.HTT = (int)numericValues[8]; seasonStats.SHT = (int)numericValues[9]; seasonStats.OSB = (int)numericValues[10]; seasonStats.OSM = (int)numericValues[11]; //seasonStats.SPER = (int)numericValues[12]; Don't need percentage seasonStats.SB = (int)numericValues[13]; seasonStats.MP = (int)numericValues[14]; //seasonStats.AMG = (int)numericValues[15]; Don't need average seasonStats.PPG = (int)numericValues[16]; seasonStats.PPA = (int)numericValues[17]; seasonStats.PPP = (int)numericValues[18]; seasonStats.PPS = (int)numericValues[19]; seasonStats.PPM = (int)numericValues[20]; seasonStats.PKG = (int)numericValues[21]; seasonStats.PKA = (int)numericValues[22]; seasonStats.PKP = (int)numericValues[23]; seasonStats.PKS = (int)numericValues[24]; seasonStats.PKM = (int)numericValues[25]; } else { seasonStats.GW = (int)numericValues[0]; seasonStats.GT = (int)numericValues[1]; //seasonStats.FOPer = (int)numericValues[2]; Don't need percentage seasonStats.FOT = (int)numericValues[3]; seasonStats.FOW = Helper.GetPercentageAmount(numericValues[2], seasonStats.FOT); seasonStats.GA = (int)numericValues[4]; seasonStats.TA = (int)numericValues[5]; seasonStats.EG = (int)numericValues[6]; seasonStats.HT = (int)numericValues[7]; //skaseasonStatster.P20 = (int)numericValues[8]; Don't need average seasonStats.PSG = (int)numericValues[9]; seasonStats.PSS = (int)numericValues[10]; seasonStats.FW = (int)numericValues[11]; seasonStats.FL = (int)numericValues[12]; seasonStats.FT = (int)numericValues[13]; seasonStats.GS = (int)numericValues[14]; seasonStats.PS = (int)numericValues[15]; seasonStats.WG = (int)numericValues[16]; seasonStats.WP = (int)numericValues[17]; } #endregion } skater.SeasonTotals = seasonStats; }