using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.ProcessMapPlan; /// public abstract class ProcessMapPlanBaseDto : ChangeLogAbstract, IId, IWellRelated, IValidatableObject { /// /// Id скважины /// [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")] public int IdWell { get; set; } /// /// Тип секции /// [Range(1, int.MaxValue, ErrorMessage = "Id секции скважины не может быть меньше 1")] public int IdWellSectionType { 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), nameof(DepthStart) }); } }