persistence/Persistence/Models/TechMessageDto.cs

53 lines
1.7 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace Persistence.Models
{
/// <summary>
/// Модель технологического сообщения
/// </summary>
public class TechMessageDto
{
/// <summary>
/// Id события
/// </summary>
[Required]
public Guid EventId { get; set; }
/// <summary>
/// Id Категории важности
/// </summary>
[Range(0, int.MaxValue, ErrorMessage = "Id Категории важности не может быть меньше 0")]
public int CategoryId { get; set; }
/// <summary>
/// Дата возникновения
/// </summary>
public DateTimeOffset Timestamp { get; set; }
/// <summary>
/// Глубина забоя
/// </summary>
[Range(0, double.MaxValue, ErrorMessage = "Глубина забоя не может быть меньше 0")]
public double? Depth { get; set; }
/// <summary>
/// Текст сообщения
/// </summary>
[Required]
[StringLength(512, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 512 символов")]
public required string MessageText { get; set; }
/// <summary>
/// Система автобурения, к которой относится сообщение
/// </summary>
[Required]
[StringLength(256, MinimumLength = 1, ErrorMessage = "Допустимая длина наименования системы АБ от 1 до 256 символов")]
public required string System { get; set; }
/// <summary>
/// Id пользователя за пультом бурильщика
/// </summary>
public Guid UserId { get; set; }
}
}