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