diff --git a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs index d4cff5da..69740a37 100644 --- a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs +++ b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs @@ -226,25 +226,25 @@ namespace AsbCloudInfrastructure.Repository DeltaDepth = g.Sum(o => o.DurationDepth), IdParent = parentRelationDictionary[g.Key].IdParent }); - var defaultId = 0; - while (dtos.Any(x => x.IdParent == null)) + + while (dtos.All(x => x.IdParent != null)) { - defaultId--; dtos = dtos - .GroupBy(o => o.IdParent) - .Select(g => new WellGroupOpertionDto - { - IdCategory = g.Key ?? defaultId, - Category = g.Key.HasValue - ? parentRelationDictionary.GetValueOrDefault(g.Key.Value)?.Name ?? "unknown" - : "unknown", - Count = g.Sum(o => o.Count), - DeltaDepth = g.Sum(o => o.DeltaDepth), - TotalMinutes = g.Sum(o => o.TotalMinutes), - Items = g.ToList(), - IdParent = g.Key.HasValue - ? parentRelationDictionary.GetValueOrDefault(g.Key.Value)?.IdParent ?? defaultId - : defaultId, + .GroupBy(o => o.IdParent!) + .Select(g => { + var idCategory = g.Key ?? int.MinValue; + var category = parentRelationDictionary.GetValueOrDefault(idCategory); + var newDto = new WellGroupOpertionDto + { + IdCategory = idCategory, + Category = category?.Name ?? "unknown", + Count = g.Sum(o => o.Count), + DeltaDepth = g.Sum(o => o.DeltaDepth), + TotalMinutes = g.Sum(o => o.TotalMinutes), + Items = g.ToList(), + IdParent = category?.IdParent, + }; + return newDto; }); } return dtos; diff --git a/AsbCloudWebApi/Rest/WellOperation.http b/AsbCloudWebApi/Rest/WellOperation.http new file mode 100644 index 00000000..37dd8e2c --- /dev/null +++ b/AsbCloudWebApi/Rest/WellOperation.http @@ -0,0 +1,12 @@ +@baseUrl = http://127.0.0.1:5000 +@contentType = application/json +@auth = Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImN0eSI6IkpXVCJ9.eyJpZCI6IjEiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiZGV2IiwiaWRDb21wYW55IjoiMSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6InJvb3QiLCJuYmYiOjE2NjI1NDgxNjIsImV4cCI6MTY5NDEwNTc2MiwiaXNzIjoiYSIsImF1ZCI6ImEifQ.OEAlNzxi7Jat6pzDBTAjTbChskc-tdJthJexyWwwUKE + +@wellId = 1 + +### +GET {{baseUrl}}/api/well/{{wellId}}/wellOperations/groupStat +Content-Type: {{contentType}} +accept: */* +Authorization: {{auth}} +