2024-11-12 13:36:09 +05:00
|
|
|
|
using Persistence.Models;
|
|
|
|
|
|
|
|
|
|
namespace Persistence.Repositories;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Интерфейс по работе с прореженными данными
|
|
|
|
|
/// </summary>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
public interface ITimeSeriesBaseRepository<TDto>
|
2024-11-12 13:36:09 +05:00
|
|
|
|
where TDto : class, new()
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получить список объектов с прореживанием
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dateBegin">дата начала</param>
|
|
|
|
|
/// <param name="approxPointsCount"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-11-22 16:48:55 +05:00
|
|
|
|
Task<IEnumerable<TDto>> GetResampledData(
|
|
|
|
|
DateTimeOffset dateBegin,
|
|
|
|
|
double intervalSec = 600d,
|
|
|
|
|
int approxPointsCount = 1024,
|
|
|
|
|
CancellationToken token = default);
|
2024-11-12 13:36:09 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
Task<DatesRangeDto?> GetDatesRange(CancellationToken token);
|
2024-11-12 13:36:09 +05:00
|
|
|
|
}
|