forked from ddrilling/AsbCloudServer
50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace AsbCloudApp.Data.ProcessMaps;
|
|
|
|
/// <inheritdoc/>
|
|
public abstract class ProcessMapPlanBaseDto : ChangeLogAbstract, IId, IWellRelated, IValidatableObject
|
|
{
|
|
/// <summary>
|
|
/// Id скважины
|
|
/// </summary>
|
|
public int IdWell { get; set; }
|
|
|
|
/// <summary>
|
|
/// Тип секции
|
|
/// </summary>
|
|
[Range(1, int.MaxValue, ErrorMessage = "Id секции скважины не может быть меньше 1")]
|
|
public int IdWellSectionType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Название секции
|
|
/// </summary>
|
|
public string? Section { get; set; }
|
|
|
|
/// <summary>
|
|
/// Глубина по стволу от, м
|
|
/// <para>
|
|
/// на начало интервала
|
|
/// </para>
|
|
/// </summary>
|
|
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
|
public double DepthStart { get; set; }
|
|
|
|
/// <summary>
|
|
/// Глубина по стволу до, м
|
|
/// <para>
|
|
/// на конец интервала
|
|
/// </para>
|
|
/// </summary>
|
|
[Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
|
|
public double DepthEnd { get; set; }
|
|
|
|
/// <inheritdoc/>
|
|
public virtual IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
{
|
|
if (DepthEnd <= DepthStart)
|
|
yield return new("Глубина окончания должна быть больше глубины начала", new string[] { nameof(DepthEnd) });
|
|
}
|
|
} |