using AsbCloudApp.Data; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using AsbCloudApp.Data.WellOperation; using AsbCloudApp.Requests; namespace AsbCloudApp.Services; /// <summary> /// Сервис по представлению данных по операциям /// </summary> public interface IWellOperationService { /// <summary> /// Получить страницу списка операций /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<WellOperationDto>> GetAsync(WellOperationRequest request, CancellationToken token); /// <summary> /// Получить страницу списка операций /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<PaginationContainer<WellOperationDto>> GetPageAsync(WellOperationRequest request, CancellationToken token); /// <summary> /// Получить страницу с операцией /// </summary> /// <param name="idWell"></param> /// <param name="id"></param> /// <param name="operationType"></param> /// <param name="take"></param> /// <param name="sortFields"></param> /// <param name="token"></param> /// <returns></returns> Task<PaginationContainer<WellOperationDto>?> GetPageAsync(int idWell, int id, int operationType, int? take, IEnumerable<string>? sortFields, CancellationToken token); /// <summary> /// Получить статистику операции по скважине с группировкой по категориям /// </summary> /// <param name="request"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<WellGroupOpertionDto>> GetGroupOperationsStatAsync(WellOperationRequest request, CancellationToken token); /// <summary> /// Получить данные для графика TVD /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<PlanFactPredictBase<WellOperationDto>>> GetTvdAsync(int idWell, CancellationToken token); }