using DD.Persistence.Models; using DD.Persistence.Models.Common; namespace DD.Persistence.Client.Clients.Interfaces; /// /// Клиент для работы с репозиторием для хранения разных наборов данных рядов. /// discriminatorId - идентифицирует конкретный набор данных, прим.: циклы измерения АСИБР, или отчет о DrillTest. /// discriminatorId формируют клиенты и только им известно что они обозначают. /// public interface ITimestampedValuesClient : IDisposable { /// /// Записать новые данные /// /// /// /// /// Task AddRange(Guid discriminatorId, IEnumerable sets, CancellationToken token); /// /// Количество записей по указанному набору в БД. Для пагинации /// /// /// /// Task Count(Guid discriminatorId, CancellationToken token); /// /// Получение данных с фильтрацией. Значение фильтра null - отключен /// /// /// /// /// /// /// /// Task> Get(Guid discriminatorId, DateTimeOffset? geTimestamp, IEnumerable? columnNames, int skip, int take, CancellationToken token); /// /// Диапазон дат за которые есть данные /// /// /// /// Task GetDatesRange(Guid discriminatorId, CancellationToken token); /// /// Получить последние данные /// /// /// /// /// /// Task> GetLast(Guid discriminatorId, IEnumerable? columnNames, int take, CancellationToken token); /// /// Получить список объектов с прореживанием, удовлетворяющий диапазону дат /// /// /// /// /// /// /// Task> GetResampledData(Guid discriminatorId, DateTimeOffset dateBegin, double intervalSec = 600d, int approxPointsCount = 1024, CancellationToken token = default); }