From e8789df59e85d2cb75b10558dc5fd57ee7442d3b Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Thu, 22 Sep 2022 17:40:18 +0500 Subject: [PATCH] =?UTF-8?q?SubsystemOperationTimeController=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80.=20null=20-=20=D0=B2=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B4=D0=BD=D0=BE=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20nullable=20=D1=81=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=D1=81=D1=82=D0=B2=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=D0=B0.=20SubsystemOperationTimeService.BuildQuery=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BC=20=D0=B6=D0=B5=20=D0=BF=D1=80=D0=B8=D1=87?= =?UTF-8?q?=D0=B8=D0=BD=D0=B0=D0=BC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Subsystems/SubsystemOperationTimeService.cs | 3 --- .../SubsystemOperationTimeController.cs | 16 ++++++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs b/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs index 28405e81..8fbc75df 100644 --- a/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs +++ b/AsbCloudInfrastructure/Services/Subsystems/SubsystemOperationTimeService.cs @@ -187,9 +187,6 @@ namespace AsbCloudInfrastructure.Services.Subsystems private IQueryable? BuildQuery(SubsystemOperationTimeRequest request) { - if (request.SelectMode > 0 && request.GtDate is null && request.LtDate is null) - return null; - var well = wellService.GetOrDefault(request.IdWell); if (well?.IdTelemetry is null || well.Timezone is null) return null; diff --git a/AsbCloudWebApi/Controllers/Subsystems/SubsystemOperationTimeController.cs b/AsbCloudWebApi/Controllers/Subsystems/SubsystemOperationTimeController.cs index f585bbaf..e4466d9d 100644 --- a/AsbCloudWebApi/Controllers/Subsystems/SubsystemOperationTimeController.cs +++ b/AsbCloudWebApi/Controllers/Subsystems/SubsystemOperationTimeController.cs @@ -39,7 +39,7 @@ namespace AsbCloudWebApi.Controllers.Subsystems { if (!await UserHasAccesToWellAsync(request.IdWell, token)) return Forbid(); - if (!await TimeRequestValidate(request, token)) + if (!await IsValidRequest(request, token)) return BadRequest("Запрашиваемый диапазон должен заканчиваться за 2 часа до текущего времени(после приведения к UTC)."); var subsystemResult = await subsystemOperationTimeService.GetStatAsync(request, token); return Ok(subsystemResult); @@ -71,7 +71,7 @@ namespace AsbCloudWebApi.Controllers.Subsystems { if (!await UserHasAccesToWellAsync(request.IdWell, token)) return Forbid(); - if (!await TimeRequestValidate(request, token)) + if (!await IsValidRequest(request, token)) return BadRequest("Запрашиваемый диапазон должен заканчиваться за 2 часа до текущего времени(после приведения к UTC)."); var result = await subsystemOperationTimeService.GetOperationTimeAsync(request, token); @@ -93,7 +93,7 @@ namespace AsbCloudWebApi.Controllers.Subsystems { if (!await UserHasAccesToWellAsync(request.IdWell, token)) return Forbid(); - if (!await TimeRequestValidate(request, token)) + if (!await IsValidRequest(request, token)) return BadRequest("Запрашиваемый диапазон должен заканчиваться за 2 часа до текущего времени(после приведения к UTC)."); var result = await subsystemOperationTimeService.DeleteAsync(request, token); return Ok(result); @@ -108,20 +108,20 @@ namespace AsbCloudWebApi.Controllers.Subsystems return true; return false; } - protected async Task TimeRequestValidate(SubsystemOperationTimeRequest request, CancellationToken token) + protected async Task IsValidRequest(SubsystemOperationTimeRequest request, CancellationToken token) { var well = await wellService.GetOrDefaultAsync(request.IdWell, token); - if (well is not null) + if (well is not null && request.LtDate.HasValue) { var ltDate = (DateTimeOffset)request.LtDate; var utcDateRequest = ltDate.ToRemoteDateTime(well.Timezone.Hours); - if (utcDateRequest.AddHours(2) < DateTime.UtcNow) + if (utcDateRequest.AddHours(2) > DateTime.UtcNow) { - return true; + return false; } } - return false; + return true; } } }