in src/Relecloud.Web.CallCenter/Services/RelecloudApiServices/RelecloudApiConcertService.cs [62:84]
public async Task<UpdateResult> CreateOrUpdateUserAsync(User user)
{
await PrepareAuthenticatedClient();
var httpRequestMessage = new HttpRequestMessage(HttpMethod.Patch, "api/User");
httpRequestMessage.Content = JsonContent.Create(user);
var httpResponseMessage = await this.httpClient.SendAsync(httpRequestMessage);
if (httpResponseMessage.StatusCode == HttpStatusCode.BadRequest)
{
var responseMessage = await httpResponseMessage.Content.ReadAsStringAsync();
var failedCreateOperation = JsonSerializer.Deserialize<CreateResult>(responseMessage, RelecloudApiConfiguration.GetSerializerOptions());
return failedCreateOperation ?? throw new InvalidOperationException("Failed to parse response");
}
else if (httpResponseMessage.StatusCode != HttpStatusCode.Accepted)
{
throw new InvalidOperationException(nameof(CreateOrUpdateUserAsync), new WebException(await httpResponseMessage.Content.ReadAsStringAsync()));
}
return new UpdateResult
{
Success = true,
};
}