using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.ProcessMaps; /// <summary> /// РТК план бурение скважины /// </summary> public class ProcessMapPlanDrillingDto : ProcessMapPlanBaseDto { /// <summary> /// Id режима 1-ротор, 2 - слайд /// </summary> [Range(1, 2, ErrorMessage = "Id режима должен быть либо 1-ротор либо 2-слайд")] public int IdMode { get; set; } /// <summary> /// Название режима бурения /// </summary> public string? Mode { get; set; } /// <summary> /// Осевая нагрузка, т план /// </summary> [Range(0, 99999.9, ErrorMessage = "Осевая нагрузка, т должна быть в пределах от 0 до 99999.9")] public double AxialLoadPlan { get; set; } /// <summary> /// Осевая нагрузка, т ограничение /// </summary> [Range(0, 99999.9, ErrorMessage = "Осевая нагрузка, т должна быть в пределах от 0 до 99999.9")] public double AxialLoadLimitMax { get; set; } /// <summary> /// Перепад давления, атм план /// </summary> [Range(0, 99999.9, ErrorMessage = "Перепад давления, атм должна быть в пределах от 0 до 99999.9")] public double DeltaPressurePlan { get; set; } /// <summary> /// Перепад давления, атм ограничение /// </summary> [Range(0, 99999.9, ErrorMessage = "Перепад давления, атм должна быть в пределах от 0 до 99999.9")] public double DeltaPressureLimitMax { get; set; } /// <summary> /// Момент на ВСП, кН*м план /// </summary> [Range(0, 99999.9, ErrorMessage = "Момент на ВСП, кН*м должна быть в пределах от 0 до 99999.9")] public double TopDriveTorquePlan { get; set; } /// <summary> /// Момент на ВСП, кН*м ограничение /// </summary> [Range(0, 99999.9, ErrorMessage = "Момент на ВСП, кН*м должна быть в пределах от 0 до 99999.9")] public double TopDriveTorqueLimitMax { get; set; } /// <summary> /// Обороты на ВСП, об/мин план /// </summary> [Range(0, 99999.9, ErrorMessage = "Обороты на ВСП, об/мин должна быть в пределах от 0 до 99999.9")] public double TopDriveSpeedPlan { get; set; } /// <summary> /// Обороты на ВСП, об/мин ограничение /// </summary> [Range(0, 99999.9, ErrorMessage = "Обороты на ВСП, об/мин должна быть в пределах от 0 до 99999.9")] public double TopDriveSpeedLimitMax { get; set; } /// <summary> /// Расход, л/с план /// </summary> [Range(0, 99999.9, ErrorMessage = "Расход, л/с должна быть в пределах от 0 до 99999.9")] public double FlowPlan { get; set; } /// <summary> /// Расход, л/с ограничение /// </summary> [Range(0, 99999.9, ErrorMessage = "Расход, л/с должна быть в пределах от 0 до 99999.9")] public double FlowLimitMax { get; set; } /// <summary> /// Плановая механическая скорость, м/ч /// </summary> [Range(0, 99999.9, ErrorMessage = "Плановая механическая скорость, м/ч должно быть в пределах от 0 до 99999.9")] public double RopPlan { get; set; } /// <summary> /// Плановый процент использования АКБ /// </summary> [Range(0, 100, ErrorMessage = "Процент использования АКБ должен быть в пределах от 0 до 100")] public double UsageSaub { get; set; } /// <summary> /// Плановый процент использования spin master /// </summary> [Range(0, 100, ErrorMessage = "Процент использования spin master должен быть в пределах от 0 до 100")] public double UsageSpin { get; set; } /// <summary> /// Комментарий /// </summary> public string Comment { get; set; } = string.Empty; }