using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data.ProcessMaps;

/// <summary>
/// РТК план shocktest
/// </summary>
public class ProcessMapPlanShockTestDto : ProcessMapPlanBaseDto
{
    /// <summary>
    /// StickSlip
    /// </summary>
    [Range(0.0, 1000.0, ErrorMessage = "StickSlip, должно быть в пределах от 0 до 1000")]
    public double StickSlip { get; set; }

    /// <summary>
    /// Whirl
    /// </summary>
    [Range(0.0, 1000.0, ErrorMessage = "Whirl, должно быть в пределах от 0 до 1000")]
    public double Whirl { get; set; }

    /// <summary>
    /// Осевые вибрации
    /// </summary>
    [Range(0.0, 1000.0, ErrorMessage = "Осевые вибрации, должно быть в пределах от 0 до 1000")]
    public double AxialVibrations { get; set; }

    /// <summary>
    /// Комбинированные вибрации
    /// </summary>
    [Range(0.0, 1000.0, ErrorMessage = "Комбинированные вибрации, должно быть в пределах от 0 до 1000")]
    public double CombinedVibrations { get; set; }

    /// <summary>
    /// Нагрузка минимальная, т
    /// </summary>
    [Range(0.0, 30.0, ErrorMessage = "Комбинированные вибрации, должно быть в пределах от 1 до 30")]
    public double WeightOnBitMin { get; set; }

    /// <summary>
    /// Минимальные обороты на ВСП, об/мин.
    /// </summary>
    [Range(5, 200, ErrorMessage = "Минимальные обороты на ВСП, об/мин., должно быть в пределах от 5 до 200")]
    public double RpmMin { get; set; }

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