using System; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Requests; /// /// Параметры запроса телеметрии /// public class TelemetryDataRequest { /// /// Максимально допустимое кол-во строк данных /// public const int MaxTake = 3072; /// /// greater or equal then Date /// public DateTimeOffset? GeDate { get; set; } /// /// less or equal then Date /// public DateTimeOffset? LeDate { get; set; } /// /// Делитель для прореживания выборки. /// /// 1 - без прореживания (default); /// 2 - каждое 2-е значение; /// 10 - каждое 10-е значение; /// /// [Range(0, 300)] public int Divider { get; set; } = 1; /// /// сортировка/выравнивание данных в запросе по дате /// /// 0 - более ранние данные вперед; /// 1 - более поздние данные вперед; /// /// [Range(0, 1)] public int Order { get; set; } = 0; /// /// Пропустить с начала /// [Range(0, int.MaxValue)] public int Skip { get; set; } = 0; /// /// Кол-во возвращаемых, но не больше MaxTake /// [Range(1, MaxTake)] public int Take { get; set; } = 1024; }