private async Task<IEnumerable<JsonNode?>?> GetDmnTasksAsync(IReadOnlyList<PassengerArrivalChunk> chunks)
{
var tasks = chunks.Select(async chunk =>
{
var serializedChunk = Serializer.Serialize(new { passengerArrivalChunk = chunk });
using var response = await httpClient
.PostAsync(processingSettings.DmnUrl, new StringContent(serializedChunk, Encoding.UTF32, MediaTypeNames.Application.Json));
var responseMessage = await response.Content.ReadAsStringAsync();
var jsonArray = JsonNode.Parse(responseMessage)?["Tasks"]?.AsArray();
return jsonArray?.Select(el => el).Where(x => x != null);
}).ToList();
var results = await Task.WhenAll(tasks);
return results.SelectMany(result => result ?? []);
}
private async Task<IEnumerable<JsonNode?>?> GetDmnTasksAsync(IReadOnlyList<PassengerArrivalChunk> chunks)
{
var tasks = chunks.Select(async chunk =>
{
var serializedChunk = Serializer.Serialize(new { passengerArrivalChunk = chunk });
using var response = await httpClient
.PostAsync(processingSettings.DmnUrl, new StringContent(serializedChunk, Encoding.UTF32, MediaTypeNames.Application.Json));
var responseMessage = await response.Content.ReadAsStringAsync();
var jsonArray = JsonNode.Parse(responseMessage)?["Tasks"]?.AsArray();
return jsonArray?.Select(el => el).Where(x => x != null);
}).ToList();
var results = await Task.WhenAll(tasks);
return results.SelectMany(result => result ?? []);
}