using AsbCloudApp.Data; using AsbCloudApp.Requests; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories { #nullable enable /// /// сервис операций по скважине /// public interface IWellOperationRepository { /// /// список названий операций /// /// IEnumerable GetCategories(); /// /// Список секций /// /// IDictionary GetSectionTypes(); /// /// дата/время первой операции по скважине /// /// /// 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); } #nullable disable }