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
{
#nullable enable
///
/// Получение инфо о наработке подсистем
///
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);
}
#nullable disable
}