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

47 lines
1.8 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data
{
/// <summary>
/// Сообщение для frontend
/// </summary>
public class MessageDto : IId
{
/// <inheritdoc/>
public int Id { get; set; }
/// <summary>
/// дата появления события
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// категория события
/// </summary>
[Range(1, int.MaxValue, ErrorMessage = "Id категории не может быть ниже 1")]
public int CategoryId { get; set; }
//TODO: в модели дто сообщения отсутствует поле Id скважины
// скорее всего опечатка т.к. используется глубина в правиле валидатора
//в других валидаторах парамтр глубины идет рэнжированный от...до
/// <summary>
/// глубина забоя, при котором событие возникло
/// </summary>
[Range(-1, int.MaxValue, ErrorMessage = "Id скважины не может быть ниже 1")]
public double WellDepth { get; set; }
/// <summary>
/// пользователь панели оператора
/// </summary>
public string? User { get; set; }
/// <summary>
/// текст сообщения
/// </summary>
[StringLength(400, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 400 символов")]
public string Message { get; set; } = string.Empty;
}
}