using System; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.DetectedOperation { /// /// Автоматически определяемая операция /// public class DetectedOperationDto : IId, IWellRelated { /// [Required] public int Id { get; set; } /// [Required] public int IdWell { get; set; } /// /// Id телеметрии /// [Required] public int IdTelemetry { get; set; } /// /// Id названия/описания операции /// [Required] public int IdCategory { get; set; } /// /// Id пользователя панели /// [Required] public int IdUsersAtStart { get; set; } /// /// Дата начала операции в часовом поясе скважины /// [Required] public DateTime DateStart { get; set; } /// /// Дата завершения операции в часовом поясе скважины /// [Required] public DateTime DateEnd { get; set; } /// /// Продолжительность операции в минутах /// [Required] public double DurationMinutes => (DateEnd - DateStart).TotalMinutes; /// /// глубина на начало операции, м /// [Required] public double DepthStart { get; set; } /// /// глубина на завершения операции, м /// [Required] public double DepthEnd { get; set; } /// /// название/описание операции /// [Required] public WellOperationCategoryDto OperationCategory { get; set; } = null!; /// /// Пользователь панели оператора /// public string? TelemetryUserName { get; set; } /// /// Бурильщик /// public DrillerDto? Driller { get; set; } /// /// Целевые/нормативные показатели /// public OperationValueDto? OperationValue { get; set; } /// /// Ключевой параметр операции /// [Required] public double Value { get; set; } /// /// Флаг включенной подсистемы /// [Required] public int EnabledSubsystems { get; set; } } }