public async Task <TicketField> UpdateAsync(TicketField ticketField) { using (_loggerScope(_logger, "PutAsync")) using (var client = _apiClient.CreateClient(ResourceUri)) { var request = new TicketFieldCreateUpdateRequest(ticketField); var response = await client.PutAsJsonAsync(ticketField.Id.ToString(), request).ConfigureAwait(false); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { _logger.LogInformation("Cannot update ticket field as ticket field {0} cannot be found", ticketField.Id); return(null); } response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsAsync <TicketFieldResponse>(); return(result.TicketField); } }
public async Task <TicketField> CreateAsync(TicketField ticketField) { using (_loggerScope(_logger, "PostAsync")) using (var client = _apiClient.CreateClient()) { var request = new TicketFieldCreateUpdateRequest(ticketField); var response = await client.PostAsJsonAsync(ResourceUri, request).ConfigureAwait(false); if (response.StatusCode != System.Net.HttpStatusCode.Created) { throw new HttpRequestException( $"Status code retrieved was {response.StatusCode} and not a 201 as expected" + Environment.NewLine + "See: https://developer.zendesk.com/rest_api/docs/core/ticket_fields#create-ticket-field"); } var result = await response.Content.ReadAsAsync <TicketFieldResponse>(); return(result.TicketField); } }