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;
    }
}