From 2c3f1de8a4633995d2248c874dae70bc934d248c Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Mon, 1 Apr 2024 11:44:03 +0500 Subject: [PATCH] Fix DetectedOperationService: Restore TelemetryDataBaseService: --- .../DetectOperations/DetectedOperationService.cs | 12 +++++++----- .../Services/SAUB/TelemetryDataSaubService.cs | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs index 36809ec3..53db6c4c 100644 --- a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs +++ b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs @@ -11,7 +11,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using AsbCloudInfrastructure.Services.DetectOperations.Detectors; -using AsbCloudInfrastructure.Services.SAUB; namespace AsbCloudInfrastructure.Services.DetectOperations; @@ -20,6 +19,7 @@ public class DetectedOperationService : IDetectedOperationService private readonly IDetectedOperationRepository operationRepository; private readonly IWellOperationCategoryRepository wellOperationCategoryRepository; private readonly IWellService wellService; + private readonly ITelemetryService telemetryService; private readonly IRepositoryWellRelated operationValueRepository; private readonly IScheduleRepository scheduleRepository; private readonly ITelemetryDataSaubService telemetryDataSaubService; @@ -34,6 +34,7 @@ public class DetectedOperationService : IDetectedOperationService IDetectedOperationRepository operationRepository, IWellOperationCategoryRepository wellOperationCategoryRepository, IWellService wellService, + ITelemetryService telemetryService, IRepositoryWellRelated operationValueRepository, IScheduleRepository scheduleRepository, ITelemetryDataSaubService telemetryDataSaubService) @@ -41,6 +42,7 @@ public class DetectedOperationService : IDetectedOperationService this.operationRepository = operationRepository; this.wellOperationCategoryRepository = wellOperationCategoryRepository; this.wellService = wellService; + this.telemetryService = telemetryService; this.operationValueRepository = operationValueRepository; this.scheduleRepository = scheduleRepository; this.telemetryDataSaubService = telemetryDataSaubService; @@ -143,6 +145,7 @@ public class DetectedOperationService : IDetectedOperationService const int minOperationLength = 5; const int maxDetectorsInterpolationFrameLength = 30; const int gap = maxDetectorsInterpolationFrameLength + minOperationLength; + var timezone = telemetryService.GetTimezone(idTelemetry); while (true) { @@ -153,13 +156,12 @@ public class DetectedOperationService : IDetectedOperationService Order = 0 }; - var detectableTelemetries = (await telemetryDataSaubService.GetByTelemetryAsync(idTelemetry, request, token)) + var dtos = await telemetryDataSaubService.GetByTelemetryAsync(idTelemetry, request, token); + var detectableTelemetries = dtos .Where(t => t.BlockPosition >= 0) - .Select(t => t as TelemetryNewDataSaubDto) - .Where (t => t is not null) .Select(t => new DetectableTelemetry { - DateTime = t.DateTime, + DateTime = new DateTimeOffset(t.DateTime, timezone.Offset), IdUser = t.IdUser, Mode = t.Mode, WellDepth = t.WellDepth, diff --git a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs index e6fb372b..9bca69bd 100644 --- a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs +++ b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs @@ -129,10 +129,10 @@ public class TelemetryDataSaubService : TelemetryDataBaseService(); + var dto = src.Adapt(); var telemetryUser = telemetryUserService.GetOrDefault(src.IdTelemetry, src.IdUser ?? int.MinValue); dto.User = telemetryUser?.MakeDisplayName(); - dto.DateTime = src.DateTime.ToOffset(TimeSpan.FromHours(timezoneOffset)); // src.DateTime.ToRemoteDateTime(timezoneOffset); + dto.DateTime = src.DateTime.ToRemoteDateTime(timezoneOffset); dto.BitDepth = src.BitDepth <= src.WellDepth ? src.BitDepth : src.WellDepth;