using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Requests;

/// <summary>
/// Параметры запроса для построения отчёта
/// </summary>
public class DataSaubStatRequest
{
    /// <summary>
    /// Изменение уставки факт перепада давления от первого значения в начале интервала
    /// Не менее 5 атм и не более 50 атм;
    /// </summary>
    [Range(5, 50, ErrorMessage = "Изменение уставки факт перепада давления не может быть меньше 5 и больше 50 атм")]
    public double DeltaPressure { get; set; } = 5d;

    /// <summary>
    /// Изменение уставки факт осевой нагрузки от первого значения в начале интервала
    /// Не менее 1 т и не более 20 т;
    /// </summary>
    [Range(1, 20, ErrorMessage = "Изменение уставки факт осевой нагрузки не может быть меньше 1 и больше 20 т")]
    public double DeltaAxialLoad { get; set; } = 1d;

    /// <summary>
    /// Изменение уставки момента от первого значения в начале интервала
    /// Не менее 5 кН*м и не более 20 кН*м.
    /// </summary>
    [Range(5, 20, ErrorMessage = "Изменение уставки момента не может быть меньше 5 и больше 20 кН*м")]
    public double DeltaRotorTorque { get; set; } = 5d;

    /// <summary>
    /// Изменение ограничения нагрузки от первого значения в начале интервала
    /// </summary>
    public double DeltaAxialLoadSp => 1.0;

    /// <summary>
    /// Изменение ограничения момента от первого значения в начале интервала
    /// </summary>
    public double DeltaRotorTorqueSp => 5.0;
}