using System.ComponentModel.DataAnnotations;
using DD.Persistence.Models.Enumerations;

namespace DD.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>
		[Required]
		[StringLength(512, MinimumLength = 1, ErrorMessage = "Допустимая длина текста сообщения от 1 до 512 символов")]
		public required string Text { get; set; }

		/// <summary>
		/// Статус события
		/// </summary>
		public EventState EventState { get; set; }
	}
}