using AsbCloudApp.Data; using AsbCloudApp.Services; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories; /// <summary> /// Репозиторий работы с данными, реализующими интерфейс IDataSaubStatDto /// </summary> public interface IDataSaubStatRepository<TDto> : ITelemetryDataEditorService where TDto : IDataSaubStatDto { /// <summary> /// Получение записей по ключам телеметрий /// </summary> /// <param name="idsTelemetries">ключи телеметрий</param> /// <param name="geDate">начальная дата</param> /// <param name="leDate">конечная дата</param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<TDto>> GetAsync(IEnumerable<int> idsTelemetries, DateTimeOffset geDate, DateTimeOffset leDate, CancellationToken token); /// <summary> /// Получение последних по дате окончания бурения записей в разрезе телеметрий /// </summary> /// <param name="idTelemetries">ключи телеметрий</param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<TDto>> GetLastsAsync(int[] idTelemetries, CancellationToken token); /// <summary> /// Вставка записей /// </summary> /// <param name="dataSaubStats"></param> /// <param name="token"></param> /// <returns></returns> Task<int> InsertRangeAsync(IEnumerable<TDto> dataSaubStats, CancellationToken token); }