using System;
using System.Collections.Generic;
using System.Linq;
using AsbCloudApp.Data.DailyReport.Blocks;
using AsbCloudApp.Data.DailyReport.Blocks.Sign;
using AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
using AsbCloudApp.Data.DailyReport.Blocks.TimeBalance;
using AsbCloudApp.Data.DailyReport.Blocks.WellOperation;
namespace AsbCloudApp.Data.DailyReport;
///
/// Суточный отчёт
///
public class DailyReportDto : IId,
IWellRelated
{
///
public int Id { get; set; }
///
public int IdWell { get; set; }
///
/// Название скважины
///
public string WellCaption { get; set; } = null!;
///
/// Название типа скважины
///
public string? WellType { get; set; }
///
/// Название куста
///
public string? Cluster { get; set; }
///
/// Заказчик
///
public string? Customer { get; set; }
///
/// Подрядчик
///
public string? Contractor { get; set; }
///
/// Месторождение
///
public string? Deposit { get; set; }
///
/// Глубина забоя на дату начала интервала
///
public double? DepthStart { get; set; }
///
/// Глубина забоя на дату окончания интервала
///
public double? DepthEnd { get; set; }
///
/// Дата формирования отчёта
///
public DateOnly Date { get; set; }
///
/// Дата последнего обновления
///
public DateTime? DateLastUpdate { get; set; }
///
/// Блок фактической траектории
///
public TrajectoryBlockDto TrajectoryBlock { get; set; } = null!;
///
/// Фактические операции
///
public WellOperationBlockDto FactWellOperationBlock { get; set; } = null!;
///
/// Баланс времени
///
public TimeBalanceBlockDto? TimeBalanceBlock { get; set; }
///
/// Наработка подсистем
///
public SubsystemBlockDto? SubsystemBlock { get; set; }
///
/// Подпись
///
public SignBlockDto? SignBlock { get; set; }
///
/// Блок расписания
///
public IEnumerable ScheduleBlock { get; set; } = Enumerable.Empty();
///
/// РТК
///
public IEnumerable ProcessMapWellDrillingBlock { get; set; } = Enumerable.Empty();
}