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(); } }
public Task ApplyForBonusAsync(FundInBonusApplication model) { return(SecurePostAsJson(Routes.ApplyForFundInBonus, model)); }
public void ApplyForFundInBonus(FundInBonusApplication model) { _bonusCommands.ApplyForBonus(model); }
public ValidationResult GetValidationResult(FundInBonusApplication model) { return(new FundInBonusApplicationValidator(_repository).Validate(model)); }