2022-04-28 15:04:13 +05:00
|
|
|
|
using System;
|
2024-02-20 13:15:05 +05:00
|
|
|
|
using System.Collections.Generic;
|
2024-01-16 13:24:42 +05:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
2024-04-01 15:35:21 +05:00
|
|
|
|
using AsbCloudApp.Data.WellOperation;
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-02-08 11:38:25 +05:00
|
|
|
|
namespace AsbCloudApp.Data.DetectedOperation;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Автоматически определенная операция
|
|
|
|
|
/// </summary>
|
2024-04-08 09:26:24 +05:00
|
|
|
|
public class DetectedOperationDto : IId
|
2022-04-28 15:04:13 +05:00
|
|
|
|
{
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <inheritdoc/>
|
|
|
|
|
[Required]
|
|
|
|
|
public int Id { get; set; }
|
2024-02-08 11:38:25 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Id телеметрии
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public int IdTelemetry { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Id названия/описания операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public int IdCategory { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Id пользователя панели на момент начала операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int? IdUserAtStart { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Id пользователя изменившего операцию
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int? IdEditor { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Дата завершения операции в часовом поясе скважины
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public DateTimeOffset DateEnd { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Дата начала операции в часовом поясе скважины
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public DateTimeOffset DateStart { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// глубина на завершения операции, м
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public double DepthEnd { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// глубина на начало операции, м
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public double DepthStart { get; set; }
|
2022-04-28 15:04:13 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Продолжительность операции в минутах
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public double DurationMinutes => (DateEnd - DateStart).TotalMinutes;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// название/описание операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public WellOperationCategoryDto OperationCategory { get; set; } = null!;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Включенные подсистемы
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public EnabledSubsystems EnabledSubsystems { get; set; }
|
2022-06-08 14:37:05 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Значение ключевой параметра операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public double Value { get; set; }
|
2022-06-08 14:37:05 +05:00
|
|
|
|
|
2024-04-08 09:26:24 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Доп. инфо по операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
public IDictionary<string, object> ExtraData { get; set; } = new Dictionary<string, object>();
|
2024-02-08 11:38:25 +05:00
|
|
|
|
}
|