using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data.ProcessMaps.Operations;

/// <summary>
/// РТК план определения углов осцилляции
/// </summary>
public class ProcessMapPlanOscillationAnglesDto : ProcessMapPlanBaseDto
{
    /// <summary>
    /// Момент на ВСП, кН*м., Уставка
    /// </summary>
    [Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., Уставка, должно быть в пределах от 0 до 35")]
    public double TopDriveTorque { get; set; }

    /// <summary>
    /// Момент на ВСП, кН*м., Ограничение
    /// </summary>
    [Range(0.0, 35.0, ErrorMessage = "Момент на ВСП, кН*м., Ограничение, должно быть в пределах от 0 до 35")]
    public double TopDriveTorqueMax { get; set; }

    /// <summary>
    /// Обороты на ВСП, об/мин., Уставка
    /// </summary>
    [Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., Уставка, должно быть в пределах от 0 до 270")]
    public double Rpm { get; set; }

    /// <summary>
    /// Обороты на ВСП, об/мин., Ограничение
    /// </summary>
    [Range(0.0, 270.0, ErrorMessage = "Обороты на ВСП, об/мин., Ограничение, должно быть в пределах от 0 до 270")]
    public double RpmMax { get; set; }

    /// <summary>
    /// Примечание
    /// </summary>
    [StringLength(1024, ErrorMessage = "Примечание, должно быть не более 1024 символов")]
    public string Note { get; set; } = string.Empty;
}