using Persistence.Models;
using Persistence.Models.Requests;
namespace Persistence.Client.Clients.Interfaces;
///
/// Клиент для работы с технологическими сообщениями
///
public interface ITechMessagesClient : IDisposable
{
///
/// Добавить новые технологические сообщения
///
///
///
///
Task AddRange(IEnumerable dtos, CancellationToken token);
///
/// Получить диапазон дат, для которых есть данные в репозитории
///
///
///
Task GetDatesRangeAsync(CancellationToken token);
///
/// Получить список технологических сообщений в виде страницы
///
///
///
///
Task> GetPage(PaginationRequest request, CancellationToken token);
///
/// Получить порцию записей, начиная с заданной даты
///
///
///
///
///
Task> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token);
///
/// Получить статистику по системам
///
///
///
///
///
Task> GetStatistics(string autoDrillingSystem, int categoryId, CancellationToken token);
///
/// Получить список всех систем
///
///
///
Task> GetSystems(CancellationToken token);
}