示例#1
0
        public void ClaimBonusRedemption(ClaimBonusRedemption model)
        {
            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                var validationResult = _bonusQueries.GetValidationResult(model);
                if (validationResult.IsValid == false)
                {
                    throw new RegoException(validationResult.Errors.First().ErrorMessage);
                }

                var redemption = _repository.GetBonusRedemption(model.PlayerId, model.RedemptionId);
                ClaimBonusRedemption(redemption);
                _repository.SaveChanges();

                redemption.Events.ForEach(_eventBus.Publish);
                scope.Complete();
            }
        }
示例#2
0
 public Task ClaimBonusRedemptionAsync(ClaimBonusRedemption model)
 {
     return(SecurePostAsJson(Routes.ClaimBonusRedemption, model));
 }
示例#3
0
 public void ClaimBonusRedemption(ClaimBonusRedemption model)
 {
     _bonusCommands.ClaimBonusRedemption(model);
 }
示例#4
0
 public ValidationResult GetValidationResult(ClaimBonusRedemption model)
 {
     return(new ClaimBonusValidator(_repository).Validate(model));
 }