DD.WellWorkover.Cloud/AsbCloudApp/Data/WellOperationDto.cs

107 lines
3.4 KiB
C#
Raw Normal View History

using AsbCloudApp.ValidationAttributes;
using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
2021-07-27 13:32:00 +05:00
{
2022-06-02 12:35:51 +05:00
/// <summary>
/// Операции на скважине (заведенные пользователем)
/// </summary>
public class WellOperationDto : ItemInfoDto, IId, IWellRelated
{
2023-03-10 05:09:41 +05:00
2022-06-02 12:35:51 +05:00
/// <inheritdoc/>
2021-07-28 09:46:58 +05:00
public int Id { get; set; }
2022-06-02 12:35:51 +05:00
/// <inheritdoc/>
[Required]
public int IdWell { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// id секции скважины
/// </summary>
[Required]
public int IdWellSectionType { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// название секции скважины
/// </summary>
public string? WellSectionTypeName { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// id категории операции
/// </summary>
[Required]
public int IdCategory { get; set; }
/// <summary>
/// id плановой операции для сопоставления
/// </summary>
public int? IdPlan { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// название категории операции
/// </summary>
public string? CategoryName { get; set; }
/// <summary>
/// ключ родителя у категории
/// </summary>
public int? IdParentCategory { get; set; }
2022-06-02 12:35:51 +05:00
/// <summary>
/// дополнительная информация по операции
/// </summary>
[StringLength(8192)]
public string? CategoryInfo { get; set; }
/// <summary>
/// 0 = план или 1 = факт или прогноз = 2
/// </summary>
[Required]
public int IdType { get; set; }
2021-07-28 09:46:58 +05:00
/// <summary>
/// Глубина на начало операции, м
/// </summary>
[Range(0, 50_000)]
public double DepthStart { get; set; }
2021-07-28 09:46:58 +05:00
/// <summary>
/// Глубина после завершения операции, м
/// </summary>
[Range(0, 50_000)]
public double DepthEnd { get; set; }
2021-07-28 09:46:58 +05:00
2022-01-12 17:46:33 +05:00
/// <summary>
/// Кол-во дней от даты начала первой плановой (а если её нет, то фактической) операции
/// </summary>
public double Day { get; set; }
/// <summary>
/// Кол-во часов НПВ от даты начала первой плановой (а если её нет, то фактической) операции
/// </summary>
public double NptHours { get; set; }
/// <summary>
/// Дата начала операции
/// </summary>
2023-05-23 10:53:31 +05:00
[DateValidation(GtDate = "2010-01-01T00:00:00")]
public DateTime DateStart { get; set; }
/// <summary>
/// Продолжительность, часы
/// </summary>
[Range(0, 50)]
public double DurationHours { get; set; }
2021-07-28 09:46:58 +05:00
/// <summary>
/// Полезный комментарий
/// </summary>
2023-03-10 05:09:41 +05:00
[StringLength(4096, ErrorMessage = "Комментарий не может быть длиннее 4096 символов")]
public string? Comment { get; set; }
2021-07-27 13:32:00 +05:00
}
}