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(); }
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); } }); }
public void Consume(BetCancelled message) { _eventHandlers.Handle(message); }
public void Consume(BetCancelled message) { _gameSubscriber.Handle(message); }