forked from ddrilling/AsbCloudServer
105 lines
3.4 KiB
C#
105 lines
3.4 KiB
C#
using AsbCloudApp.ValidationAttributes;
|
||
using System;
|
||
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace AsbCloudApp.Data
|
||
{
|
||
/// <summary>
|
||
/// Операции на скважине (заведенные пользователем)
|
||
/// </summary>
|
||
public class WellOperationDto : ItemInfoDto, IId, IWellRelated
|
||
{
|
||
/// <inheritdoc/>
|
||
public int Id { get; set; }
|
||
|
||
/// <inheritdoc/>
|
||
[Required]
|
||
public int IdWell { get; set; }
|
||
|
||
/// <summary>
|
||
/// id секции скважины
|
||
/// </summary>
|
||
[Required]
|
||
public int IdWellSectionType { get; set; }
|
||
|
||
/// <summary>
|
||
/// название секции скважины
|
||
/// </summary>
|
||
public string? WellSectionTypeName { get; set; }
|
||
|
||
/// <summary>
|
||
/// id категории операции
|
||
/// </summary>
|
||
[Required]
|
||
[Range(5000, int.MaxValue)]
|
||
public int IdCategory { get; set; }
|
||
|
||
/// <summary>
|
||
/// id плановой операции для сопоставления
|
||
/// </summary>
|
||
public int? IdPlan { get; set; }
|
||
|
||
/// <summary>
|
||
/// название категории операции
|
||
/// </summary>
|
||
public string? CategoryName { get; set; }
|
||
|
||
/// <summary>
|
||
/// ключ родителя у категории
|
||
/// </summary>
|
||
public int? IdParentCategory { get; set; }
|
||
|
||
/// <summary>
|
||
/// дополнительная информация по операции
|
||
/// </summary>
|
||
[StringLength(8192)]
|
||
public string? CategoryInfo { get; set; }
|
||
|
||
/// <summary>
|
||
/// 0 = план или 1 = факт или прогноз = 2
|
||
/// </summary>
|
||
[Required]
|
||
public int IdType { get; set; }
|
||
|
||
/// <summary>
|
||
/// Глубина на начало операции, м
|
||
/// </summary>
|
||
[Range(0, 50_000)]
|
||
public double DepthStart { get; set; }
|
||
|
||
/// <summary>
|
||
/// Глубина после завершения операции, м
|
||
/// </summary>
|
||
[Range(0, 50_000)]
|
||
public double DepthEnd { get; set; }
|
||
|
||
/// <summary>
|
||
/// Кол-во дней от даты начала первой плановой (а если её нет, то фактической) операции
|
||
/// </summary>
|
||
public double Day { get; set; }
|
||
|
||
/// <summary>
|
||
/// Кол-во часов НПВ от даты начала первой плановой (а если её нет, то фактической) операции
|
||
/// </summary>
|
||
public double NptHours { get; set; }
|
||
|
||
/// <summary>
|
||
/// Дата начала операции
|
||
/// </summary>
|
||
[DateValidation(GtDate = "2010-01-01T00:00:00")]
|
||
public DateTime DateStart { get; set; }
|
||
|
||
/// <summary>
|
||
/// Продолжительность, часы
|
||
/// </summary>
|
||
[Range(0, 50)]
|
||
public double DurationHours { get; set; }
|
||
|
||
/// <summary>
|
||
/// Полезный комментарий
|
||
/// </summary>
|
||
[StringLength(4096, ErrorMessage = "Комментарий не может быть длиннее 4096 символов")]
|
||
public string? Comment { get; set; }
|
||
}
|
||
}
|