public void Handle(PlayerContactVerified @event) { var repository = _container.Resolve <IBonusRepository>(); using (var scope = CustomTransactionScope.GetTransactionScope()) { var player = repository.GetLockedPlayer(@event.PlayerId); if (@event.ContactType == ContactType.Mobile) { player.VerifyMobileNumber(); } if (@event.ContactType == ContactType.Email) { player.VerifyEmailAddress(); } if (player.Data.IsEmailVerified && player.Data.IsMobileVerified) { var bonusCommands = _container.Resolve <BonusCommands>(); bonusCommands.ProcessFirstBonusRedemptionOfType(player, BonusType.MobilePlusEmailVerification); } repository.SaveChanges(); scope.Complete(); } }
public void Handle(PlayerContactVerified @event) { if (@event.ContactType == ContactType.Email) { AddActivityLog("Activation performed by email", @event, @event.PlayerId); } else if (@event.ContactType == ContactType.Mobile) { AddActivityLog("Activation performed by sms", @event, @event.PlayerId); } }
public void Consume(PlayerContactVerified message) { _playerHandlers.Handle(message); }
public void Consume(PlayerContactVerified message) { _playerSubscriber.Handle(message); }