DD.WellWorkover.Cloud/AsbCloudApp/Data/WellDto.cs

92 lines
2.7 KiB
C#
Raw Normal View History

using System;
2021-12-21 11:52:53 +05:00
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
2024-08-19 10:01:07 +05:00
namespace AsbCloudApp.Data;
2023-08-15 18:00:35 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// базовая информация о скважине
/// </summary>
public class WellWithTimezoneDto : WellInfoDto
{
/// <inheritdoc/>
[Required]
public SimpleTimezoneDto Timezone { get; set; } = null!;
2023-08-15 18:00:35 +05:00
2022-05-06 14:29:17 +05:00
/// <summary>
2024-08-19 10:01:07 +05:00
/// 0 - неизвестно,
/// 1 - в работе,
/// 2 - завершена
2022-05-06 14:29:17 +05:00
/// </summary>
2024-08-19 10:01:07 +05:00
[Required]
public int IdState { get; set; }
}
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Скважина
/// </summary>
public class WellDto : WellInfoDto, IMapPoint, IId
{
/// <inheritdoc/>
[Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
public double? Latitude { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <inheritdoc/>
[Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
public double? Longitude { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <inheritdoc/>
[Required]
public SimpleTimezoneDto Timezone { get; set; } = null!;
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Название типа скважины
/// </summary>
public string? WellType { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// ID типа скважины
/// </summary>
[Range(1, 2, ErrorMessage = "Тип скважины указан неправильно.")]
public int IdWellType { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// ID куста
/// </summary>
public int IdCluster { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// 0 - неизвестно,
/// 1 - в работе,
/// 2 - завершена
/// </summary>
[Range(0, 2, ErrorMessage = "Текущее состояние работы скважины указано неправильно.")]
public int IdState { get; set; }
/// <summary>
/// Дата/время первой операции
/// </summary>
public DateTimeOffset? StartDate { get; set; }
2022-05-06 16:35:16 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Дата/время кода приходили данные последний раз
/// </summary>
public DateTimeOffset LastTelemetryDate { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// ID телеметрии
/// </summary>
public int? IdTelemetry { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Объект телеметрии (инфо от панели оператора)
/// </summary>
public TelemetryBaseDto? Telemetry { get; set; }
2022-05-06 14:29:17 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Компании участвующие в работах на скважине
/// </summary>
public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>();
}