Fix liter per 100 km calculation for multiple cars

This commit is contained in:
2025-06-23 16:50:07 +02:00
parent 0df7449a99
commit 9e16d6004a

View File

@@ -51,13 +51,16 @@ public static class GetConsumptions
ApplicationDbContext dbContext,
CancellationToken cancellationToken)
{
List<Consumption> consumptions = await dbContext.Consumptions
Dictionary<CarId, List<Consumption>> consumptionsByCar = await dbContext.Consumptions
.OrderByDescending(x => x.DateTime)
.Include(x => x.Car)
.ToListAsync(cancellationToken);
.GroupBy(x => x.CarId)
.ToDictionaryAsync(x => x.Key, x => x.ToList(), cancellationToken);
List<ResponseDto> responses = [];
foreach (var consumptions in consumptionsByCar.Select(x => x.Value))
{
for (int i = 0; i < consumptions.Count; i++)
{
Consumption consumption = consumptions[i];
@@ -80,6 +83,7 @@ public static class GetConsumptions
CarDto.FromCar(consumption.Car),
literPer100Km));
}
}
ApiResponse apiResponse = new() { Consumptions = responses };
return TypedResults.Ok(apiResponse);