예제 #1
0
 private decimal GetCustomerAverageBet()
 {
     if (SettledBets.Count == 0)
     {
         return(0);
     }
     return(SettledBets.Average(s => s.Stake));
 }
예제 #2
0
        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);
        }
예제 #3
0
        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;
            }
        }