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
///
/// Удаление отчетов, с момента загрузки которых прошло 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())