private decimal PointsForStats( NFLPlayer plyr, int increment, string forStatType, decimal divisor ) { var qty = 0.0M; if ( WeekHasPassed ) { var ds = plyr.LastStats( forStatType, Week.WeekNo, Week.WeekNo, Week.Season ); foreach ( DataRow dr in ds.Tables[ 0 ].Rows ) qty = Decimal.Parse( dr[ "QTY" ].ToString() ); switch ( forStatType ) { case Constants.K_STATCODE_PASSING_YARDS: plyr.ProjectedYDp = Convert.ToInt32( qty ); break; case Constants.K_STATCODE_PASSES_CAUGHT: plyr.ProjectedReceptions = Convert.ToInt32( qty ); break; case Constants.K_STATCODE_RUSHING_YARDS: plyr.ProjectedYDr = Convert.ToInt32( qty ); break; case Constants.K_STATCODE_INTERCEPTIONS_THROWN: break; case Constants.K_STATCODE_RECEPTION_YARDS: break; default: Utility.Announce( string.Format( "Unknown stat type {0}", forStatType ) ); break; } plyr.AddMetric( forStatType, GameKey, qty, 0 ); } else { // game not played yet if ( !string.IsNullOrEmpty( GameKey ) ) { var pgm = PgmDao.GetPlayerWeek( GameKey, plyr.PlayerCode ); qty = PgmDao.ProjectedStatsOfType( forStatType, pgm ); } } //var pts = Math.Floor( qty / divisor ); var pts = qty / divisor; //var points = Convert.ToInt32( pts ) * increment; var points = pts * increment; return points; }
private decimal PointsFor( NFLPlayer plyr, int increment, string forScoreType, string id ) { decimal nScores; var ds = new DataSet(); if ( WeekHasPassed ) { ds = plyr.LastScores( forScoreType, Week.WeekNo, Week.WeekNo, Week.Season, id ); nScores = ds.Tables[ 0 ].Rows.Count; if (forScoreType == Constants.K_SCORE_TD_PASS && id == "1") forScoreType = Constants.K_SCORE_TD_CATCH; plyr.AddMetric( forScoreType, GameKey, nScores ); } else { // use projections var dao = new DbfPlayerGameMetricsDao(); var pgm = dao.GetPlayerWeek( GameKey, plyr.PlayerCode ); nScores = pgm.ProjectedScoresOfType( forScoreType, id ); } var points = nScores * increment; switch ( forScoreType ) { case Constants.K_SCORE_TD_PASS: if ( plyr.PlayerCat.Equals( Constants.K_QUARTERBACK_CAT ) && ( id == "2" ) ) plyr.ProjectedTDp = nScores; else plyr.ProjectedTDc = nScores; break; case Constants.K_SCORE_TD_RUN: plyr.ProjectedTDr = nScores; break; case Constants.K_SCORE_FIELD_GOAL: plyr.ProjectedFg = (int) nScores; if ( WeekHasPassed ) points = ScoreFG( table: ds.Tables[ 0 ] ); break; case Constants.K_SCORE_PAT_PASS: break; case Constants.K_SCORE_PAT: break; case Constants.K_SCORE_PAT_RUN: break; case Constants.K_SCORE_TD_CATCH: plyr.ProjectedTDc = nScores; break; default: Utility.Announce( string.Format( "YahooScorer: Unknown score type {0}", forScoreType ) ); break; } return points; }