using System;

namespace AsbCloudApp.Data.ProcessMaps.Report;

/// <summary>
/// Модель РТК
/// </summary>
public class ProcessMapReportDataSaubStatDto
{
    /// <summary>
    /// Время, затраченное на бурение интервала, в часах
    /// </summary>
    public double DrilledTime { get; set; } = 0;

   /// <summary>
   /// Id секции скважины
   /// </summary>
   public int IdWellSectionType { get; set; }

   /// <summary>
   /// Название секции скважины
   /// </summary>
   public string WellSectionTypeName { get; set; } = null!;

   /// <summary>
   /// Глубина по стволу от, м
   /// <para>
   /// на начало интервала
   /// </para>
   /// </summary>
   public double DepthStart { get; set; }

   /// <summary>
   /// Глубина по стволу до, м
   /// <para>
   /// на конец интервала
   /// </para>
   /// </summary>
   public double DepthEnd { get; set; }

   /// <summary>
   /// Дата/ время
   /// <para>
   /// на начало интервала
   /// </para>
   /// </summary>
   public DateTimeOffset DateStart { get; set; }

   /// <summary>
   /// Режим бурения (Ротор/слайд/ручной)
   /// </summary>
   public string DrillingMode { get; set; } = null!;

   /// <summary>
   /// Проходка, м
   /// </summary>
   public double? DeltaDepth { get; set; }

   /// <summary>
   /// Перепад давления, атм
   /// </summary>
   public ProcessMapReportDataSaubStatParamsDto PressureDiff { get; set; } = new();

   /// <summary>
   /// Нагрузка, т
   /// </summary>
   public ProcessMapReportDataSaubStatParamsDto AxialLoad { get; set; } = new();

   /// <summary>
   /// Момент на ВСП, кНхМ
   /// </summary>
   public ProcessMapReportDataSaubStatParamsDto TopDriveTorque { get; set; } = new();

   /// <summary>
   /// Ограничение скорости, м/ч
   /// </summary>
   public ProcessMapReportDataSaubStatParamsDto SpeedLimit { get; set; } = new();

    /// <summary>
    /// Обороты ВСП, об/мин
    /// </summary>
    public ProcessMapReportDataSaubStatParamsDto TopDriveSpeed { get; set; } = new();

    /// <summary>
    /// Расход, л/с
    /// </summary>
    public ProcessMapReportDataSaubStatParamsDto Flow { get; set; } = new();

   /// <summary>
   /// Механическая скорость, м/ч
   /// </summary>
   public PlanFactDto<double?> Rop { get; set; } = new();    
}