From 0735526c70460e43d96c6db1a38f538b23ce7fbe Mon Sep 17 00:00:00 2001 From: Olga Nemt <on.nemtina@digitaldrilling.ru> Date: Fri, 10 Nov 2023 15:39:52 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E,=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20lifetime=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=D0=B0=20TimeSpan?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Services/IReportService.cs | 4 ++-- AsbCloudInfrastructure/Background/WorkToDeleteOldReports.cs | 2 +- AsbCloudInfrastructure/Services/ReportService.cs | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/AsbCloudApp/Services/IReportService.cs b/AsbCloudApp/Services/IReportService.cs index de8896b9..f5096a78 100644 --- a/AsbCloudApp/Services/IReportService.cs +++ b/AsbCloudApp/Services/IReportService.cs @@ -61,9 +61,9 @@ namespace AsbCloudApp.Services /// <summary> /// Удаление отчетов, с момента загрузки которых прошло n дней /// </summary> - /// <param name="days">период, за который отчеты хранятся на сервере и при превышении которого удаляются</param> + /// <param name="lifetime">период хранения на сервере скачанных отчетов</param> /// <param name="token"></param> /// <returns></returns> - Task<int> DeleteAllOldReportsAsync(int days, CancellationToken token); + Task<int> DeleteAllOldReportsAsync(TimeSpan lifetime, CancellationToken token); } } diff --git a/AsbCloudInfrastructure/Background/WorkToDeleteOldReports.cs b/AsbCloudInfrastructure/Background/WorkToDeleteOldReports.cs index 0208dd14..683a7ee6 100644 --- a/AsbCloudInfrastructure/Background/WorkToDeleteOldReports.cs +++ b/AsbCloudInfrastructure/Background/WorkToDeleteOldReports.cs @@ -28,7 +28,7 @@ namespace AsbCloudInfrastructure.Background protected override async Task Action(string id, IServiceProvider services, Action<string, double?> onProgressCallback, CancellationToken token) { var reportService = services.GetRequiredService<IReportService>(); - await reportService.DeleteAllOldReportsAsync(-30, token); + await reportService.DeleteAllOldReportsAsync(new TimeSpan(30, 0, 0, 0), token); } } } diff --git a/AsbCloudInfrastructure/Services/ReportService.cs b/AsbCloudInfrastructure/Services/ReportService.cs index a1afc26f..0b9da1a1 100644 --- a/AsbCloudInfrastructure/Services/ReportService.cs +++ b/AsbCloudInfrastructure/Services/ReportService.cs @@ -190,10 +190,11 @@ namespace AsbCloudInfrastructure.Services return generator; } - public async Task<int> DeleteAllOldReportsAsync(int days, CancellationToken token) + public async Task<int> DeleteAllOldReportsAsync(TimeSpan lifetime, CancellationToken token) { + var lifeTimeStartDate = DateTime.UtcNow.Date.Add(-lifetime); var fileIds = db.ReportProperties - .Where(r => r.File.UploadDate.Date < DateTime.UtcNow.Date.AddDays(days)) + .Where(r => r.File.UploadDate.Date < lifeTimeStartDate) .Select(r => r.IdFile); if (fileIds.Any())