using AsbCloudApp.Data; using AsbCloudApp.Data.Subsystems; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services.Subsystems { /// /// Получение инфо о наработке подсистем /// public interface ISubsystemOperationTimeService { /// /// Статистика о наработке подсистем /// /// /// /// Task?> GetStatAsync(SubsystemOperationTimeRequest request, CancellationToken token); /// /// Удаление наработки по подсистемам. /// Если удаляется конец, то фоновый сервис подсчета наработки восстановит эти данные. /// Может потребоваться для запуска повторного расчета по новому алгоритму. /// /// /// /// Task DeleteAsync(SubsystemOperationTimeRequest request, CancellationToken token); /// /// Интервалы работы подсистем /// /// /// /// Task?> GetOperationTimeAsync(SubsystemOperationTimeRequest request, CancellationToken token); /// /// Временной диапазон за который есть статистика работы подсистем /// /// /// /// Task GetDateRangeOperationTimeAsync(SubsystemOperationTimeRequest request, CancellationToken token); /// /// Получение статистики по наработке подсистем по активным скважинам /// /// /// /// /// /// Task> GetStatByActiveWells(int idCompany, DateTime? gtDate, DateTime? ltDate, CancellationToken token); /// /// Получение статистики по наработке подсистем по активным скважинам /// /// /// /// Task> GetStatByActiveWells(IEnumerable wellIds, CancellationToken token); } }