public NFLBet IsBettable(NFLGame game) { NFLBet bet = null; if (Decimal.Compare(game.Spread, 0M) != 0) { // Predict game var res = _pred.PredictGame(game, new FakePredictionStorer(), DateTime.Now); // if differs from spread by 10 or more its a lock var diff = Math.Abs(game.Spread - res.Margin()); if (Decimal.Compare(diff, 10) > 0) { bet = new NFLBet(res.WinningTeam(), game, Name + " - " + diff + " " + res.PredictedScore(), ConfidenceLevel()); bet.Announce(); } } // else its off the board return(bet); }
public NFLBet IsBettable(NFLGame game) { NFLBet bet = null; var bOver = false; if (Decimal.Compare(game.Total, 0M) != 0) { var pred = new NibblePredictor(); // Predict game var res = pred.PredictGame(game, new FakePredictionStorer(), DateTime.Now); var resultTotal = res.AwayScore + res.HomeScore; // if differs from spread by 10 or more its a lock _diff = Math.Abs(game.Total - resultTotal); if (Decimal.Compare(_diff, Marg) > 0) { var typeBet = resultTotal.ToString(); if (resultTotal > game.Total) { typeBet += " Over"; bOver = true; } else { typeBet += " Under"; } typeBet += string.Format(" ({0}) by {1}", game.Total, _diff); bet = new NFLBet(res.WinningTeam(), game, typeBet, ConfidenceLevel()) { Type = BetType.Total }; if (bOver) { bet.Over = true; } else { bet.Under = true; } } } return(bet); }