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; }