DD.WellWorkover.Cloud/AsbCloudApp/Requests/TelemetryRequest.cs

60 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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