using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace AsbCloudApp.Data; /// <summary> /// DTO статистики по операциям за скважину /// </summary> public class StatWellDto : IId { /// <inheritdoc/> [Required] public int Id { get; set; } /// <summary> /// название /// </summary> [Required] public string Caption { get; set; } = string.Empty; /// <summary> /// тип скважины /// </summary> [Required] public string WellType { get; set; } = string.Empty; /// <summary> /// ИД состояния скважины /// </summary> [Required] public int IdState { get; set; } /// <summary> /// текст состояния скважины /// </summary> [Required] public string State { get; set; } = string.Empty; /// <summary> /// дата прихода последней телеметрии /// </summary> [Required] public DateTimeOffset LastTelemetryDate { get; set; } /// <summary> /// Статистика по секциям /// </summary> [Required] public IEnumerable<StatSectionDto> Sections { get; set; } = Enumerable.Empty<StatSectionDto>(); /// <summary> /// статистика за всю скважину /// </summary> [Required] public PlanFactDto<StatOperationsDto> Total { get; set; } = new(); /// <summary> /// компании участвующие в строительстве скважины /// </summary> [Required] public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>(); /// <summary> /// Отставание от ГГД, дни /// </summary> public double? TvdLagDays { get; set; } /// <summary> /// Кол-во дней бурения по ГГД /// </summary> public double? TvdDrillingDays { get; set; } }