using AsbCloudApp.Data; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using AsbCloudApp.Data.WellOperation; namespace AsbCloudApp.Services; /// <summary> /// Сервис расчета статистики по операциям вводимым вручную /// </summary> public interface IOperationsStatService { /// <summary> /// Получить статистику МСП по кусту в котором находится скважина с IdWell /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<ClusterRopStatDto?> GetOrDefaultRopStatAsync(int idWell, CancellationToken token); /// <summary> /// Получить статистику по скважинам куста, которые доступны компании /// </summary> /// <param name="idCluster"></param> /// <param name="idCompany"></param> /// <param name="token"></param> /// <returns></returns> Task<StatClusterDto?> GetOrDefaultStatClusterAsync(int idCluster, int idCompany, CancellationToken token); /// <summary> /// получить статистику по скважине /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<StatWellDto?> GetOrDefaultWellStatAsync(int idWell, CancellationToken token); /// <summary> /// Получить статистику по набору скважин /// </summary> /// <param name="idWells"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<StatWellDto>> GetWellsStatAsync(IEnumerable<int> idWells, CancellationToken token); }