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();    
}