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; }
}
}