using System;
using System.Collections.Generic;
using AsbCloudApp.Data.User;

namespace AsbCloudApp.Data.WellReport;

/// <summary>
/// Отчёт по скважине
/// </summary>
public class WellReportDto
{
	/// <summary>
	/// Информация о скважине
	/// </summary>
	public WellDto Well { get; set; }

	/// <summary>
	/// Дата начала бурения
	/// </summary>
	public DateTimeOffset? DateFrom { get; set; }

	/// <summary>
	/// Дата окончания бурения
	/// </summary>
	public DateTimeOffset? DateTo { get; set; }

	/// <summary>
	/// Дни бурения
	/// </summary>
	public PlanFactDto<double?> Days { get; set; } = null!;

	/// <summary>
	/// Проектная глубина
	/// </summary>
	public PlanFactDto<double?> WellBoreDepth { get; set; } = null!;

	/// <summary>
	/// Вертикальная глубина
	/// </summary>
	public PlanFactDto<double?> VerticalDepth { get; set; } = null!;

	/// <summary>
	/// Дни бурения без НПВ
	/// </summary>
	public double WithoutNtpDays { get; set; }

	/// <summary>
	/// Контакты
	/// </summary>
	public IEnumerable<ContactDto> Contacts { get; set; } = [];

	/// <summary>
	/// Показатели по секциям
	/// </summary>
	public IEnumerable<SectionReportDto> SectionReports { get; set; } = [];

	/// <summary>
	/// Показатели по бурильщикам
	/// </summary>
	public IEnumerable<DrillerReportDto> DrillerReports { get; set; } = [];
}