using System;
using System.Collections.Generic;
using System.Linq;

namespace AsbCloudApp.Data
{
    /// <summary>
    /// DTO статистики по операциям за скважину
    /// </summary>
    public class StatWellDto : IId
    {
        /// <inheritdoc/>
        public int Id { get; set; }

        /// <summary>
        /// название 
        /// </summary>
        public string Caption { get; set; } = string.Empty;

        /// <summary>
        /// тип скважины
        /// </summary>
        public string WellType { get; set; } = string.Empty;

        /// <summary>
        /// ИД состояния скважины
        /// </summary>
        public int IdState { get; set; }

        /// <summary>
        /// текст состояния скважины
        /// </summary>
        public string State { get; set; } = string.Empty;

        /// <summary>
        /// дата прихода последней телеметрии
        /// </summary>
        public DateTime LastTelemetryDate { get; set; }

        /// <summary>
        /// Статистика по секциям
        /// </summary>
        public IEnumerable<StatSectionDto> Sections { get; set; } = Enumerable.Empty<StatSectionDto>();

        /// <summary>
        /// статистика за всю скважину
        /// </summary>
        public PlanFactDto<StatOperationsDto> Total { get; set; } = new();

        /// <summary>
        /// компании участвующие в строительстве скважины
        /// </summary>
        public IEnumerable<CompanyDto> Companies { get; set; } = Enumerable.Empty<CompanyDto>();

        /// <summary>
        /// Отставание от ГГД, дни
        /// </summary>
        public double? TvdLagDays { get; set; }
        
        /// <summary>
        /// Кол-во дней бурения по ГГД
        /// </summary>
        public double? TvdDrillingDays { get; set; }
    }
}