Exemplo n.º 1
0
        public void ApplyForBonus(FundInBonusApplication model)
        {
            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                var validationResult = _bonusQueries.GetValidationResult(model);
                if (validationResult.IsValid == false)
                {
                    throw new RegoException(validationResult.Errors.First().ErrorMessage);
                }

                var redemptionParams = new RedemptionParams {
                    TransferAmount = model.Amount, TransferWalletTemplateId = model.DestinationWalletTemplateId
                };
                var bonusId = model.BonusId ?? _repository.GetLockedBonus(model.BonusCode).Data.Id;
                ActivateFundInBonus(model.PlayerId, bonusId, redemptionParams);
                scope.Complete();
            }
        }
Exemplo n.º 2
0
 public Task ApplyForBonusAsync(FundInBonusApplication model)
 {
     return(SecurePostAsJson(Routes.ApplyForFundInBonus, model));
 }
Exemplo n.º 3
0
 public void ApplyForFundInBonus(FundInBonusApplication model)
 {
     _bonusCommands.ApplyForBonus(model);
 }
Exemplo n.º 4
0
 public ValidationResult GetValidationResult(FundInBonusApplication model)
 {
     return(new FundInBonusApplicationValidator(_repository).Validate(model));
 }