예제 #1
0
        public async Task <EarnedAwardResponse> ChangeState(string id, EarnedAwardState state)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }

            if (state == EarnedAwardState.Created)
            {
                throw new ArgumentException("State must be one of [APPROVED, REJECTED, REDEEMED].");
            }

            var request = new EarnedAwardRequest(state);
            var result  = await this.m_httpClient.Post <EarnedAwardResponse>(request, ENDPOINT + "/" + id + "/state");

            // Return null when the REST endpoint returns an empty JSON object ( {} ).
            if (string.IsNullOrEmpty(result?.Id))
            {
                return(null);
            }

            return(result);
        }
 public EarnedAwardRequest(EarnedAwardState state)
 {
     this.State = state;
 }