using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data.SAUB;

/// <summary>
/// Описание шаблона события панели оператора
/// </summary>
public class EventDto : IId
{
    /// <summary>
    /// id события
    /// </summary>
    [Required]
    
    public int Id { get; set; }

    /// <summary>
    /// шаблон текста сообщения
    /// </summary>
    [Required]
    public string Message { get; set; } = string.Empty;

    /// <summary>
    /// id категории события
    /// </summary>
    [Required]
    [Range(0, int.MaxValue, ErrorMessage = "Id категории события не может быть отрицательным")]
    public int IdCategory { get; set; }

    /// <summary>
    /// переменная сервера обмена информацией с полевым оборудованием
    /// </summary>
    public string Tag { get; set; } = string.Empty;

    /// <summary>
    /// тип определения наступления события
    /// </summary>
    [Required]
    [Range(0, int.MaxValue, ErrorMessage = "Id типа события не может быть отрицательным")]
    public int EventType { get; set; }

    /// <summary>
    /// флаг, следует ли воспроизводить звук при наступлении события
    /// </summary>
    [Required]
    public int IdSound { get; set; }
}