using AsbCloudApp.Data; using AsbCloudApp.Data.DetectedOperation; using AsbCloudApp.Requests; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { /// <summary> /// Сервис автоматически определенных по телеметрии операций /// </summary> public interface IDetectedOperationService { /// <summary> /// Список названий операций. /// Если указан idWell, то возвращается список названий операций найденных на указанной скважине. /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<WellOperationCategoryDto>?> GetCategoriesAsync(int? idWell, CancellationToken token); /// <summary> /// Получить автоматически определенные по телеметрии операции с анализом по бурильщикам /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<DetectedOperationListDto?> GetAsync(DetectedOperationRequest request, CancellationToken token); /// <summary> /// Получить автоматически определенные по телеметрии операции /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<DetectedOperationDto>> GetOperationsAsync(DetectedOperationRequest request, CancellationToken token); /// <summary> /// Удалить операции /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token); /// <summary> /// Статистика по операциям /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token); } }