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