コード例 #1
0
        public void Handle(BetCancelled cancelledEvent)
        {
            var reportRepository = _reportRepositoryFactory();
            var record           = GetBetHistoryRecordOrNull(reportRepository, cancelledEvent.RoundId);

            if (record == null)
            {
                throw new RegoException(string.Format(BetHistoryRecordNotFoundMessage, cancelledEvent.RoundId));
            }

            record.TotalWinLoss += cancelledEvent.Amount;
            reportRepository.SaveChanges();
        }
コード例 #2
0
 public void Handle(BetCancelled @event)
 {
     EngageWalletChanges(
         @event.PlayerId,
         (wallet, repository) =>
     {
         var cancelTransaction = wallet.Data.Transactions.Single(x => x.GameActionId == @event.RelatedGameActionId);
         var transaction       = wallet.CancelBet(cancelTransaction.Id, @event.GameActionId);
         if (@event.Turnover < 0m)
         {
             HandleNegativeTurnover(@event, repository, transaction);
         }
     });
 }
コード例 #3
0
 public void Consume(BetCancelled message)
 {
     _eventHandlers.Handle(message);
 }
コード例 #4
0
 public void Consume(BetCancelled message)
 {
     _gameSubscriber.Handle(message);
 }