コード例 #1
0
        public async Task <QualifiedBonus> GetFirstDepositBonuseByCode(FirstDepositApplicationRequest request)
        {
            var query = string.Format("?playerId={0}&depositAmount={1}&bonusCode={2}", request.PlayerId, request.DepositAmount,
                                      request.BonusCode);
            var result = await HttpClient.SecureGetAsync(Token, "api/Bonus/GetFirstDepositBonuseByCode", query);

            return(await EnsureApiResult <QualifiedBonus>(result));
        }
コード例 #2
0
        public async Task <FirstDepositApplicationResponse> ValidateFirstOnlineDeposit(
            FirstDepositApplicationRequest request)
        {
            var query  = "&bonusCode=" + request.BonusCode + "&depositAmount=" + request.DepositAmount;
            var result =
                await HttpClient.SecureGetAsync(Token, "api/Bonus/ValidateFirstOnlineDeposit", query);

            return(await EnsureApiResult <FirstDepositApplicationResponse>(result));
        }
コード例 #3
0
        private async Task <QualifiedBonus> GetBonusByCode(string bonusCode, decimal amount)
        {
            var firstDepositByCodeRequest = new FirstDepositApplicationRequest
            {
                BonusCode     = bonusCode,
                DepositAmount = amount
            };

            var bonus = await GetMemberApiProxy(Request).GetFirstDepositBonuseByCode(firstDepositByCodeRequest);

            return(bonus);
        }
コード例 #4
0
        public async Task <QualifiedBonus> GetFirstDepositBonuseByCode([FromUri] FirstDepositApplicationRequest request)
        {
            var bonus = await _bonusApiProxy
                        .GetDepositQualifiedBonusByCodeAsync(PlayerId, request.BonusCode, request.DepositAmount);

            if (bonus == null)
            {
                throw new RegoValidationException(ErrorMessagesEnum.BonusForSuchCodeDoesntExist.ToString());
            }

            return(Convert(bonus));
        }
コード例 #5
0
        public async Task <FirstDepositApplicationResponse> ValidateFirstOnlineDeposit([FromUri] FirstDepositApplicationRequest request)
        {
            var validationResult = await _bonusApiProxy.GetDepositBonusApplicationValidationAsync(PlayerId, request.BonusCode, request.DepositAmount);

            var isNotQualifiedByAmount = !validationResult.Success && validationResult.Errors
                                         .Any(o => o.ErrorMessage == QualificationReasons.DepositAmountIsNotQualifiedForTheBonus);

            var bonus = await _bonusApiProxy.GetDepositQualifiedBonusByCodeAsync(PlayerId, request.BonusCode, request.DepositAmount);

            if (isNotQualifiedByAmount)
            {
                return new FirstDepositApplicationResponse
                       {
                           IsValid = false,
                           Errors  = new[] { $"Sorry, you have to deposit at least ${bonus.RequiredAmount}" }
                       }
            }
            ;

            if (!validationResult.Success)
            {
                return new FirstDepositApplicationResponse
                       {
                           IsValid = false,
                           Errors  = validationResult.Errors.Select(x => x.ErrorMessage)
                       }
            }
            ;

            return(new FirstDepositApplicationResponse
            {
                IsValid = true,
                Bonus = Convert(bonus)
            });
        }
    }
}
コード例 #6
0
        public async Task <FirstDepositApplicationResponse> ValidateFirstDepositBonus(FirstDepositApplicationRequest request)
        {
            var response = await _memberApiProxy.ValidateFirstOnlineDeposit(request);

            return(response);
        }