using System; using System.IO; using System.Threading; using System.Threading.Tasks; using AsbCloudApp.Data; using AsbCloudApp.Data.AutogeneratedDailyReport; using AsbCloudApp.Requests; namespace AsbCloudApp.Services.AutoGeneratedDailyReports; /// <summary> /// Сервис для работы с авто-генерируемыми суточными отчётами /// </summary> public interface IAutoGeneratedDailyReportService { /// <summary> /// Список файлов суточных отчётов /// </summary> /// <param name="idWell"></param> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<PaginationContainer<AutoGeneratedDailyReportInfoDto>> GetListAsync(int idWell, AutoGeneratedDailyReportRequest request, CancellationToken cancellationToken); /// <summary> /// Генерация файла с отчётом /// </summary> /// <param name="idWell"></param> /// <param name="reportDate"></param> /// <param name="cancellationToken"></param> /// <returns></returns> Task<(string fileName, Stream stream)> GenerateReportAsync(int idWell, DateOnly reportDate, CancellationToken cancellationToken); }