using AsbCloudApp.Data; using AsbCloudApp.Data.Progress; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services; /// /// Сервис рапортов /// public interface IReportService { /// /// Поставить рапорт в очередь на формирование /// /// /// /// /// /// string EnqueueCreateReportWork(int idWell, int idUser, ReportParametersRequest request, Action handleReportProgress); /// /// Создание отчета /// /// /// /// /// /// /// /// Task CreateReportAsync(string workId, int idWell, int idUser, ReportParametersRequest request, Action progressHandler, CancellationToken token); /// /// Получить предполагаемый список страниц рапорта /// /// /// /// /// /// /// int GetReportPagesCount(int idWell, DateTimeOffset begin, DateTimeOffset end, int stepSeconds, int format); /// /// получить диапазон дат за которые есть данные /// /// /// DatesRangeDto? GetDatesRangeOrDefault(int idWell); /// /// Список готовых рапортов /// /// /// /// Task> GetAllReportsByWellAsync(int idWell, CancellationToken token); /// /// Удаление отчетов, если превышен их период хранения /// /// период хранения отчетов /// /// Task DeleteAllOldReportsAsync(TimeSpan lifetime, CancellationToken token); }