using AsbCloudApp.Data; using AsbCloudApp.Data.WellOperation; using AsbCloudApp.Requests; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories { /// /// сервис операций по скважине /// public interface IWellOperationRepository { /// /// Список секций /// /// IEnumerable GetSectionTypes(); /// /// Получить страницу списка операций /// /// /// /// Task> GetAsync(WellOperationRequest request, CancellationToken token); /// /// Получить страницу списка операций /// /// /// /// Task> GetPageAsync(WellOperationRequest request, CancellationToken token); /// /// Получить статистику операции по скважине с группировкой по категориям /// /// /// /// Task> GetGroupOperationsStatAsync(WellOperationRequest request, CancellationToken token); /// /// Добавить несколько операций /// /// /// /// /// Task InsertRangeAsync(IEnumerable dtos, bool deleteBeforeInsert, CancellationToken token); /// /// Обновить существующую операцию /// /// /// /// Task UpdateRangeAsync(IEnumerable dtos, CancellationToken token); /// /// Удалить операции по id /// /// /// /// Task DeleteRangeAsync(IEnumerable ids, CancellationToken token); /// /// Получить секции скважин из операций ГГД. Секцие поделены на плановые и фактические. /// /// /// /// Task> GetSectionsAsync(IEnumerable idsWells, CancellationToken token); /// /// Получить диапазон дат выполнения операций /// /// /// /// /// Task GetDatesRangeAsync(int idWell, int idType, CancellationToken cancellationToken); /// /// Возвращает первую и последнюю фактическую операцию /// /// /// (WellOperationDto First, WellOperationDto Last)? GetFirstAndLastFact(int idWell); } }