2024-02-21 16:54:01 +05:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
|
|
|
|
namespace AsbCloudApp.Data.ProcessMaps;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// РТК план проработка скважины
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class ProcessMapPlanReamDto : ProcessMapPlanBaseDto, IValidatableObject
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Количество повторений
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 100, ErrorMessage = "Количество повторений должно быть в пределах от 0 до 100")]
|
|
|
|
|
public double Repeats { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Вращение при движении вверх, об/мин
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Количество вращений вверх должно быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SpinUpward { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Вращение при движении вниз, об/мин
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Количество вращений вниз должно быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SpinDownward { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Скорость подъёма, м/ч
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Скорость подъёма должна быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SpeedUpward { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Скорость спуска, м/ч
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Скорость спуска должна быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SpeedDownward { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Уставка зятяжки, т
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Значение затяжек уставки должно быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SetpointDrag { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Уставка посадки, т
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Значение посадки уставки должно быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double SetpointTight { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Давление, атм
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Давление должно быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double Pressure { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Момент, кН*м
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
[Range(0, 99999.9, ErrorMessage = "Крутящий момент должен быть в пределах от 0 до 99999.9")]
|
|
|
|
|
public double Torque { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc/>
|
2024-05-23 14:07:40 +05:00
|
|
|
|
public override IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
2024-02-21 16:54:01 +05:00
|
|
|
|
{
|
|
|
|
|
if (DepthEnd < DepthStart)
|
|
|
|
|
yield return new ValidationResult(
|
|
|
|
|
$"{nameof(DepthEnd)}:{DepthEnd:#0.0} меньше {nameof(DepthStart)}:{DepthStart:#0.0}",
|
|
|
|
|
new[] { nameof(DepthEnd), nameof(DepthStart) });
|
|
|
|
|
}
|
|
|
|
|
}
|