using DD.Persistence.Models;
using DD.Persistence.Models.Requests;
namespace DD.Persistence.Repositories
{
///
/// Интерфейс по работе с технологическими сообщениями
///
public interface ITechMessagesRepository
{
///
/// Получить страницу списка объектов
///
///
///
///
Task> GetPage(PaginationRequest request, CancellationToken token);
///
/// Добавление новых сообщений
///
///
///
///
Task AddRange(Guid systemId, IEnumerable dtos, Guid userId, CancellationToken token);
///
/// Получение списка систем
///
///
///
Task> GetSystems(CancellationToken token);
///
/// Получение количества сообщений по категориям и системам автобурения
///
/// Id Категории важности
/// Система автобурения
///
///
Task> GetStatistics(IEnumerable autoDrillingSystem, IEnumerable categoryIds, CancellationToken token);
///
/// Получить порцию записей, начиная с заданной даты
///
///
///
///
///
Task> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token);
///
/// Получить диапазон дат, для которых есть данные в репозитории
///
///
///
Task GetDatesRangeAsync(CancellationToken token);
}
}