using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using AsbCloudApp.Data.WellOperation; namespace AsbCloudApp.Data.DetectedOperation; /// /// Автоматически определенная операция /// public class DetectedOperationDto: IId { /// [Required] public int Id { get; set; } /// /// Id телеметрии /// [Required] public int IdTelemetry { get; set; } /// /// Id названия/описания операции /// [Required] public int IdCategory { get; set; } /// /// Id пользователя панели на момент начала операции /// [Required] public int IdUserAtStart { get; set; } /// /// Пользователь панели оператора /// public string? TelemetryUserName { get; set; } /// /// Дата завершения операции в часовом поясе скважины /// [Required] public DateTimeOffset DateEnd { get; set; } /// /// Дата начала операции в часовом поясе скважины /// [Required] public DateTimeOffset DateStart { get; set; } /// /// глубина на завершения операции, м /// [Required] public double DepthEnd { get; set; } /// /// глубина на начало операции, м /// [Required] public double DepthStart { get; set; } /// /// Продолжительность операции в минутах /// [Required] public double DurationMinutes => (DateEnd - DateStart).TotalMinutes; /// /// Флаг включенной подсистемы /// [Required] public int EnabledSubsystems { get; set; } /// /// название/описание операции /// [Required] public WellOperationCategoryDto OperationCategory { get; set; } = null!; /// /// Ключевой параметр операции /// [Required] public double Value { get; set; } /// /// Доп. инфо по операции /// public IDictionary ExtraData { get; set; } = new Dictionary(); }