From 6cf23e3e8cbe234e7bb8443446128413646b04ce Mon Sep 17 00:00:00 2001 From: Frolov-Nikita Date: Wed, 21 Feb 2024 17:19:28 +0500 Subject: [PATCH] ProcessMapPlanBaseDto --- .../Data/ProcessMaps/ProcessMapPlanBaseDto.cs | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs new file mode 100644 index 00000000..0abc05b3 --- /dev/null +++ b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; + +namespace AsbCloudApp.Data.ProcessMaps; + +/// +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; } + + /// + /// Название секции + /// + 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), nameof(DepthStart) }); + } +} \ No newline at end of file