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 PlanFactBase<StatOperationsDto> Total { get; set; } = new();

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

        /// <summary>
        /// Отставание от ГГД, дней
        /// </summary>
        public double TvdLagDays { get; set; } = 0;
    }
}