forked from ddrilling/AsbCloudServer
92 lines
2.7 KiB
C#
92 lines
2.7 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.Linq;
|
||
|
||
namespace AsbCloudApp.Data;
|
||
|
||
/// <summary>
|
||
/// базовая информация о скважине
|
||
/// </summary>
|
||
public class WellWithTimezoneDto : WellInfoDto
|
||
{
|
||
/// <inheritdoc/>
|
||
[Required]
|
||
public SimpleTimezoneDto Timezone { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 0 - неизвестно,
|
||
/// 1 - в работе,
|
||
/// 2 - завершена
|
||
/// </summary>
|
||
[Required]
|
||
public int IdState { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Скважина
|
||
/// </summary>
|
||
public class WellDto : WellInfoDto, IMapPoint, IId
|
||
{
|
||
/// <inheritdoc/>
|
||
[Range(-90, 90, ErrorMessage = "Допустимые значения широты от -90 до 90")]
|
||
public double? Latitude { get; set; }
|
||
|
||
/// <inheritdoc/>
|
||
[Range(-180, 180, ErrorMessage = "Допустимые значения долготы от -180 до 180")]
|
||
public double? Longitude { get; set; }
|
||
|
||
/// <inheritdoc/>
|
||
[Required]
|
||
public SimpleTimezoneDto Timezone { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// Название типа скважины
|
||
/// </summary>
|
||
public string? WellType { get; set; }
|
||
|
||
/// <summary>
|
||
/// ID типа скважины
|
||
/// </summary>
|
||
[Range(1, 2, ErrorMessage = "Тип скважины указан неправильно.")]
|
||
public int IdWellType { get; set; }
|
||
|
||
/// <summary>
|
||
/// ID куста
|
||
/// </summary>
|
||
public int IdCluster { get; set; }
|
||
|
||
/// <summary>
|
||
/// 0 - неизвестно,
|
||
/// 1 - в работе,
|
||
/// 2 - завершена
|
||
/// </summary>
|
||
[Range(0, 2, ErrorMessage = "Текущее состояние работы скважины указано неправильно.")]
|
||
public int IdState { get; set; }
|
||
|
||
/// <summary>
|
||
/// Дата/время первой операции
|
||
/// </summary>
|
||
public DateTimeOffset? StartDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Дата/время кода приходили данные последний раз
|
||
/// </summary>
|
||
public DateTimeOffset LastTelemetryDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// ID телеметрии
|
||
/// </summary>
|
||
public int? IdTelemetry { get; set; }
|
||
|
||
/// <summary>
|
||
/// Объект телеметрии (инфо от панели оператора)
|
||
/// </summary>
|
||
public TelemetryBaseDto? Telemetry { get; set; }
|
||
|
||
/// <summary>
|
||
/// Компании участвующие в работах на скважине
|
||
/// </summary>
|
||
public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>();
|
||
}
|