using System;

namespace AsbCloudApp.Data.SAUB
{
    /// <summary>
    /// Статистика телеметрии САУБ (усредненные значения) по интервалам глубины
    /// </summary>
    public class TelemetryDataSaubStatDto
    {
        /// <summary>
        /// Кол-во записей в интервале
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// Дата начала интервала
        /// </summary>
        public DateTime DateMin { get; set; }

        /// <summary>
        /// Дата окончания интервала
        /// </summary>
        public DateTime DateMax { get; set; }

        /// <summary>
        /// Глубина начала интервала
        /// </summary>
        public float WellDepthMin { get; set; }

        /// <summary>
        /// Глубина окончания интервала
        /// </summary>
        public float WellDepthMax { get; set; }

        /// <summary>
        /// Давление
        /// </summary>
        public float Pressure { get; set; }

        /// <summary>
        /// действующее задание давления
        /// </summary>
        public float PressureSp { get; set; }
        
        /// <summary>
        /// действующее задание перепада давления
        /// </summary>
        public float PressureSpDelta { get; set; }

        /// <summary>
        /// Давление при холостом ходе.
        /// </summary>
        public float PressureIdle { get; set; }

        /// <summary>
        /// ограничение макс перепада давления
        /// </summary>
        public float PressureDeltaLimitMax { get; set; }

        /// <summary>
        /// Перепад давления
        /// </summary>
        public float PressureDelta { get; set; }

        /// <summary>
        /// осевая нагрузка
        /// </summary>
        public float AxialLoad { get; set; }

        /// <summary>
        /// задание осевой нагрузки
        /// </summary>
        public float AxialLoadSp { get; set; }

        /// <summary>
        /// ограничение макс. осевой нагрузки
        /// </summary>
        public float AxialLoadLimitMax { get; set; }

        /// <summary>
        /// момент ротора
        /// </summary>
        public float RotorTorque { get; set; }

        /// <summary>
        /// задание момента ротора
        /// </summary>
        public float RotorTorqueSp { get; set; }

        /// <summary>
        /// момент ротора на х.х.
        /// </summary>
        public float RotorTorqueLimitMax { get; set; }

        /// <summary>
        /// Талевый блок. Скорость
        /// </summary>
        public float BlockSpeed { get; set; }

        /// <summary>
        /// Талевый блок. Задание скорости
        /// </summary>
        public float BlockSpeedSp { get; set; }

        /// <summary>
        /// Режим САУБ
        /// </summary>
        public short IdMode { get; set; }

        /// <summary>
        /// Текущий критерий бурения
        /// </summary>
        public short? IdFeedRegulator { get; set; }
    }
}