diff --git a/AsbCloudApp/Services/IReportService.cs b/AsbCloudApp/Services/IReportService.cs index de8896b9..85d72020 100644 --- a/AsbCloudApp/Services/IReportService.cs +++ b/AsbCloudApp/Services/IReportService.cs @@ -59,11 +59,11 @@ namespace AsbCloudApp.Services Task> GetAllReportsByWellAsync(int idWell, CancellationToken token); /// - /// Удаление отчетов, с момента загрузки которых прошло n дней + /// Удаление отчетов, если превышен их период хранения /// - /// период, за который отчеты хранятся на сервере и при превышении которого удаляются + /// период хранения отчетов /// /// - Task DeleteAllOldReportsAsync(int days, CancellationToken token); + Task 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 onProgressCallback, CancellationToken token) { var reportService = services.GetRequiredService(); - 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 DeleteAllOldReportsAsync(int days, CancellationToken token) + public async Task 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())