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 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); /// /// Возвращает первую и последнюю фактическую операцию /// /// /// (WellOperationBaseDto First, WellOperationBaseDto Last)? GetFirstAndLastFact(int idWell); /// /// Получить список операций по запросу /// /// /// /// Task> GetAll(WellOperationRequest request, CancellationToken token); /// /// Получить список операций по запросу /// /// /// /// Task> GetAll(WellOperationRepositoryRequest request, CancellationToken token); /// /// Получить список операций по ключу скважины /// /// /// /// Task> GetAll(int idWell, CancellationToken token); }