using AsbCloudApp.Data; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories { /// /// сервис операций по скважине /// public interface IWellOperationRepository { /// /// список названий операций /// /// IEnumerable GetCategories(bool includeParents); /// /// Список секций /// /// IEnumerable GetSectionTypes(); /// /// список плановых операций для сопоставления /// /// /// /// /// Task GetOperationsPlanAsync(int idWell, DateTime? currentDate, CancellationToken token); /// /// дата/время первой операции по скважине /// /// /// DateTimeOffset? FirstOperationDate(int idWell); /// /// Получить страницу списка операций /// /// /// /// Task> GetAsync(WellOperationRequest request, CancellationToken token); /// /// Получить страницу списка операций /// /// /// /// Task> GetPageAsync(WellOperationRequest request, CancellationToken token); /// /// Получить операцию по id /// /// /// /// Task GetOrDefaultAsync(int id, CancellationToken token); /// /// Получить статистику операции по скважине с группировкой по категориям /// /// /// /// Task> GetGroupOperationsStatAsync( WellOperationRequest request, CancellationToken token); /// /// Добавить несколько операций за один раз /// /// /// /// Task InsertRangeAsync(IEnumerable wellOperationDtos, CancellationToken token); /// /// Обновить существующую операцию /// /// /// /// Task UpdateAsync(WellOperationDto dto, CancellationToken token); /// /// Удалить операции по id /// /// /// /// Task DeleteAsync(IEnumerable ids, CancellationToken token); /// /// Получить секции скважин из операций ГГД. Секцие поделены на плановые и фактические. /// /// /// /// Task> GetSectionsAsync(IEnumerable idsWells, CancellationToken token); } }