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="dateEnd">дата окончания</param>
|
|
|
|
|
/// <param name="approxPointsCount"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-11-21 17:02:36 +05:00
|
|
|
|
Task<IEnumerable<TDto>> GetResampledData(DateTimeOffset dateBegin, DateTimeOffset dateEnd, int approxPointsCount = 1024);
|
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
|
|
|
|
}
|