예제 #1
0
 public EventReport( string teamCode, string statCode, DataLibrarian tflWS)
 {
     Team = new NflTeam( teamCode );
     Team.LoadGames( teamCode, Utility.LastSeason() );
     this.tflWS = tflWS;
     StatCode = statCode;
 }
예제 #2
0
        private static decimal ProjectWinsFor( NflTeam team, string season )
        {
            //  Using the starting Letter power ratings playy all games
             //  on the schedule, using letter to predict result
             var gameNo = 0;

             var projectedWins = 0.0M;

             var gp = new GordanPredictor();
             if ( team.GameList == null ) team.LoadGames( team.TeamCode, season );
             foreach ( NFLGame g in team.GameList )
             {
            NflTeam opponent;
            gameNo++;
            gp.PredictGame( g, new FakePredictionStorer(), DateTime.Now);
            decimal decimalEquiv;
            string haInd;
            if ( g.IsHome( team.TeamCode ) )
            {
               decimalEquiv = g.HomeDecEquivalent;
               haInd = "host";
               opponent = g.AwayNflTeam;
            }
            else
            {
               decimalEquiv = g.AwayDecEquivalent;
               haInd = "at";
               opponent = g.HomeNflTeam;
            }
            projectedWins += decimalEquiv;
            var ratingGap = RatingGap( team.LetterRating[ 0 ].Trim(), opponent.LetterRating[ 0 ].Trim() );
             	var nLine = g.IsHome( team.TeamCode ) ? ratingGap + 2.5M : ratingGap - 2.5M;

             	var line = nLine < 0
             	              	? string.Format( "+{0:0.0}", Math.Abs( nLine ) )
             	              	: string.Format( "-{0:0.0}", Math.Abs( nLine ) );

            var locOpp = string.Format( "{5:00} {0} ({1}) {2} {3} ({4})",
                                           team.Nick(), team.LetterRating[ 0 ], haInd, opponent.Nick(),
                                           opponent.LetterRating[ 0 ], gameNo );
            var projLine = string.Format( "{0} {1}", team.Nick(), line );
            var gap = string.Format( "{0}", ratingGap );
            Utility.Announce( string.Format( "{0,-40}  {1,7}      {2,-15}   {3:#.000}",
                                                locOpp, gap, projLine, decimalEquiv ) );
             }
             Utility.Announce( string.Format( "{0,76:0.00} wins", projectedWins ) );

             return projectedWins;
        }
예제 #3
0
 public void TallyTeam( ICollection<NflTeam> teamList, string season, DateTime focusDate, string teamCode )
 {
     var team = new NflTeam( teamCode );  //  simple code constructor
     if ( thisSeasonOnly )
         team.LoadGames( team.TeamCode, season );
     else
         team.LoadPreviousRegularSeasonGames( team.TeamCode, season, focusDate );
     team.TallyStats();
     teamList.Add( team );
 }