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)); }
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)); }
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); }
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)); }
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) }); } } }
public async Task <FirstDepositApplicationResponse> ValidateFirstDepositBonus(FirstDepositApplicationRequest request) { var response = await _memberApiProxy.ValidateFirstOnlineDeposit(request); return(response); }