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; }

        /// <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;
    }
}