2024-07-04 11:02:45 +05:00
|
|
|
|
using System;
|
2021-12-21 11:52:53 +05:00
|
|
|
|
using System.Collections.Generic;
|
2023-02-17 15:30:17 +05:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
using System.Linq;
|
2021-10-15 15:35:18 +05:00
|
|
|
|
|
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; }
|
2021-10-20 12:52:31 +05:00
|
|
|
|
|
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>();
|
2021-04-02 17:28:07 +05:00
|
|
|
|
}
|