public async Task <WidgetResource> CreateWidget(WidgetResource widget) { using (var client = NewClient()) { var requestDocument = RequestDocument.Containing(widget); var response = await client.PostAsJsonAsync("widgets", requestDocument); response.EnsureSuccessStatusCode(); var responseContent = await response.Content.ReadAsStringAsync(); var responseDocument = JsonConvert.DeserializeObject <ResponseDocument <WidgetResource> >(responseContent); return(responseDocument.Data); } }
public async Task <WidgetResource> UpdateWidget(string id, WidgetResource updates) { using (var client = NewClient()) { var requestDocument = RequestDocument.Containing(updates); var requestContent = JsonConvert.SerializeObject(requestDocument); var requestMessage = new HttpRequestMessage(new HttpMethod("PATCH"), "widgets/" + id) { Content = new StringContent(requestContent, Encoding.UTF8, "application/json") }; var response = await client.SendAsync(requestMessage); response.EnsureSuccessStatusCode(); var responseContent = await response.Content.ReadAsStringAsync(); var responseDocument = JsonConvert.DeserializeObject <ResponseDocument <WidgetResource> >(responseContent); return(responseDocument.Data); } }