using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data.ProcessMaps.Functions;

/// <summary>
/// РТК план противоаварийное вращение
/// </summary>
public class ProcessMapPlanAntiCrashRotationDto : ProcessMapPlanBaseDto
{
    /// <summary>
    /// Минимальные обороты ВСП, об/мин
    /// </summary>
    [Range(0.0, 250.0, ErrorMessage = "Минимальные обороты ВСП, об/мин., должно быть в пределах от 0 до 250")]
    public double TopDriveRpmMin { get; set; }

    /// <summary>
    /// Минимальный расход для запуска оборотов  ВСП, л/сек
    /// </summary>
    [Range(0.0, 100.0, ErrorMessage = "Минимальный расход для запуска оборотов  ВСП, л/сек., должно быть в пределах от 0 до 100")]
    public double TopDriveStartMinFlowRate { get; set; }

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

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