示例#1
0
        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;
        }
示例#2
0
        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;
        }