diff --git a/AsbCloudApp/Requests/DataSaubStatRequest.cs b/AsbCloudApp/Requests/DataSaubStatRequest.cs
index b4400f3e..a9bcbf7d 100644
--- a/AsbCloudApp/Requests/DataSaubStatRequest.cs
+++ b/AsbCloudApp/Requests/DataSaubStatRequest.cs
@@ -9,23 +9,23 @@ namespace AsbCloudApp.Requests
{
///
/// Изменение уставки факт перепада давления от первого значения в начале интервала
- /// Не менее 5 атм и не более 15(50) атм;
+ /// Не менее 5 атм и не более 50 атм;
///
- [Range(5, 15, ErrorMessage = "Изменение уставки факт перепада давления не может быть меньше 5 и больше 15 атм")]
+ [Range(5, 50, ErrorMessage = "Изменение уставки факт перепада давления не может быть меньше 5 и больше 50 атм")]
public double DeltaPressure { get; set; } = 5d;
///
/// Изменение уставки факт осевой нагрузки от первого значения в начале интервала
- /// Не менее 1 т и не более 5(20) т;
+ /// Не менее 1 т и не более 20 т;
///
- [Range(1, 5, ErrorMessage = "Изменение уставки факт осевой нагрузки не может быть меньше 1 и больше 5 т")]
+ [Range(1, 20, ErrorMessage = "Изменение уставки факт осевой нагрузки не может быть меньше 1 и больше 20 т")]
public double DeltaAxialLoad { get; set; } = 1d;
///
/// Изменение уставки момента от первого значения в начале интервала
- /// Не менее 5 кН*м и не более 10(20) кН*м.
+ /// Не менее 5 кН*м и не более 20 кН*м.
///
- [Range(5, 10, ErrorMessage = "Изменение уставки момента не может быть меньше 5 и больше 10 кН*м")]
+ [Range(5, 20, ErrorMessage = "Изменение уставки момента не может быть меньше 5 и больше 20 кН*м")]
public double DeltaRotorTorque { get; set; } = 5d;
///
diff --git a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
index 501d9cb4..856848c1 100644
--- a/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
+++ b/AsbCloudInfrastructure/Services/DetectOperations/DetectedOperationService.cs
@@ -11,6 +11,7 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudInfrastructure.Services.DetectOperations.Detectors;
+using AsbCloudInfrastructure.Services.SAUB;
namespace AsbCloudInfrastructure.Services.DetectOperations;
@@ -143,7 +144,6 @@ public class DetectedOperationService : IDetectedOperationService
const int minOperationLength = 5;
const int maxDetectorsInterpolationFrameLength = 30;
const int gap = maxDetectorsInterpolationFrameLength + minOperationLength;
- var timeIncrement = TimeSpan.FromSeconds(1);
while (true)
{
@@ -156,9 +156,11 @@ public class DetectedOperationService : IDetectedOperationService
var detectableTelemetries = (await telemetryDataSaubService.GetByTelemetryAsync(idTelemetry, request, token))
.Where(t => t.BlockPosition >= 0)
+ .Select(t => t as TelemetryNewDataSaubDto)
+ .Where (t => t is not null)
.Select(t => new DetectableTelemetry
{
- DateTime = t.DateTime,//TODO: <-- вот тут ошибка при присвоении DateTime с kind unspecified в DateTimeOffset времени назначается локальный часовой пояс.
+ DateTime = t.DateTime,
IdUser = t.IdUser,
Mode = t.Mode,
WellDepth = t.WellDepth,
diff --git a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
index 92db8e4d..e6fb372b 100644
--- a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
+++ b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataSaubService.cs
@@ -16,6 +16,11 @@ using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.SAUB;
+class TelemetryNewDataSaubDto : TelemetryDataSaubDto
+{
+ public new DateTimeOffset DateTime { get; set; }
+}
+
public class TelemetryDataSaubService : TelemetryDataBaseService, ITelemetryDataSaubService
{
private readonly ITelemetryUserService telemetryUserService;
@@ -124,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.ToRemoteDateTime(timezoneOffset);
+ dto.DateTime = src.DateTime.ToOffset(TimeSpan.FromHours(timezoneOffset)); // src.DateTime.ToRemoteDateTime(timezoneOffset);
dto.BitDepth = src.BitDepth <= src.WellDepth
? src.BitDepth
: src.WellDepth;