private decimal GetCustomerAverageBet() { if (SettledBets.Count == 0) { return(0); } return(SettledBets.Average(s => s.Stake)); }
public bool IsWinningAtAnUnusualRate() { if (SettledBets.Count == 0) { return(false); } int betsWon = SettledBets.Count(b => b.Win > 0); decimal percentageWon = (decimal)betsWon / SettledBets.Count; return(percentageWon > Constants.unusualRateThreshHold); }
private void ComputeStatus(Bet unSettledBet, decimal customerAverageBet) { if (BetHasHighWinAmount(unSettledBet)) { unSettledBet.Status.HasHighWinAmount = true; } if (!SettledBets.Any()) { return; } if (StakeIsHighlyUnusual(unSettledBet, customerAverageBet)) { unSettledBet.Status.IsHighlyUnusual = true; return; } if (StakeIsUnusual(unSettledBet, customerAverageBet)) { unSettledBet.Status.IsUnusual = true; } }