DD.WellWorkover.Cloud/AsbCloudInfrastructure/Services/WellOperationService/Race.cs
2024-08-19 10:01:07 +05:00

66 lines
1.7 KiB
C#

using AsbCloudDb.Model;
using System;
using System.Collections.Generic;
using System.Linq;
namespace AsbCloudInfrastructure.Services.WellOperationService;
class Race
{
/// <summary>
/// Дата начала рейса
/// </summary>
public DateTime StartDate { get; set; }
/// <summary>
/// Глубина начала рейса, м
/// </summary>
public double StartWellDepth { get; set; }
/// <summary>
/// Дата окончания рейса
/// </summary>
public DateTime EndDate { get; set; }
/// <summary>
/// Глубина окончания рейса, м
/// </summary>
public double EndWellDepth { get; set; }
/// <summary>
/// Время рейса, часы
/// </summary>
public double DrillingTime { get; set; }
/// <summary>
/// Время НПВ, часы
/// </summary>
public double NonProductiveHours { get; set; }
/// <summary>
/// Ремонт, часы
/// </summary>
public double RepairHours { get; set; }
/// <summary>
/// проходка за рейс, м
/// </summary>
public double DeltaDepth => EndWellDepth - StartWellDepth;
/// <summary>
/// Полное время рейса, часы
/// </summary>
public double DeltaHours => (EndDate - StartDate).TotalHours;
/// <summary>
/// Скорость за рейс, м/час
/// </summary>
public double Speed => DeltaDepth / (DeltaHours - NonProductiveHours - RepairHours + double.Epsilon);
/// <summary>
/// Список операций за рейс
/// </summary>
public List<WellOperation> Operations { get; internal set; } = new List<WellOperation>();
}