/// <summary> /// Claim Season Rewards. /// </summary> /// <param name="rewardRequest">Detail information for the Reward Request.</param> /// <param name="callback">Returns a Result that contains SeasonClaimRewardResponse via callback when completed.</param> public void ClaimRewards(SeasonClaimRewardRequest rewardRequest, ResultCallback <SeasonClaimRewardResponse> callback) { Report.GetFunctionLog(this.GetType().Name); if (!this.session.IsValid()) { callback.TryError(ErrorCode.IsNotLoggedIn); return; } this.coroutineRunner.Run(this.api.ClaimRewards(this.@namespace, this.session.AuthorizationToken, this.session.UserId, rewardRequest, callback)); }
public IEnumerator ClaimRewards(string @namespace, string accessToken, string userId, SeasonClaimRewardRequest rewardRequest, ResultCallback <SeasonClaimRewardResponse> callback) { Report.GetFunctionLog(this.GetType().Name); Assert.IsNotNull(@namespace, "Can't Claim Rewards! Namespace parameter is null!"); Assert.IsNotNull(accessToken, "Can't Claim Rewards! AccessToken parameter is null!"); Assert.IsNotNull(userId, "Can't Claim Rewards! AccessToken parameter is null!"); var request = HttpRequestBuilder .CreatePost(this.baseUrl + "/public/namespaces/{namespace}/users/{userId}/seasons/current/rewards") .WithPathParam("namespace", @namespace) .WithPathParam("userId", userId) .WithContentType(MediaType.ApplicationJson) .WithBody(rewardRequest.ToUtf8Json()) .WithBearerAuth(accessToken) .Accepts(MediaType.ApplicationJson) .GetResult(); IHttpResponse response = null; yield return(this.httpClient.SendRequest(request, rsp => { response = rsp; })); var result = response.TryParseJson <SeasonClaimRewardResponse>(); callback.Try(result); }