using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace AsbCloudApp.Data { /// <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> public int IdWellType { get; set; } /// <summary> /// ID куста /// </summary> public int IdCluster { get; set; } /// <summary> /// 0 - неизвестно, /// 1 - в работе, /// 2 - завершена /// </summary> public int IdState { get; set; } /// <summary> /// Дата/время первой операции /// </summary> public DateTime? StartDate { get; set; } /// <summary> /// Дата/время кода приходили данные последний раз /// </summary> public DateTime 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>(); } }