namespace Elsa.Samples.AspNet.Onboarding.Web.Services; /// /// A client for the Elsa API. /// public class ElsaClient { private readonly HttpClient _httpClient; public ElsaClient(HttpClient httpClient) { _httpClient = httpClient; } /// /// Reports a task as completed. /// /// The ID of the task to complete. /// The result of the task. /// An optional cancellation token. public async Task ReportTaskCompletedAsync(string taskId, object? result = default, CancellationToken cancellationToken = default) { var url = new Uri($"tasks/{taskId}/complete", UriKind.Relative); var request = new { Result = result }; await _httpClient.PostAsJsonAsync(url, request, cancellationToken); } }