namespace ServiceCenter.Data.DapperNet
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;

    using Contrib = Dapper.Contrib.Extensions;

    /// <summary>
    /// Тип устройства
    /// </summary>
    [Contrib.Table("DeviceType"), DisplayName("Тип устройства"), DisplayColumn("Value")]
    public class DeviceType
    {
        /// <summary>
        /// Ключ
        /// </summary>
        [DisplayName("Id"), Contrib.Key]
        public int DeviceTypeId { get; set; }

        /// <summary>
        /// Наименование
        /// </summary>
        [DisplayName("Наименование"), 
        DisplayFormat(NullDisplayText = "Наименование не может быть пустым"),
        Required(ErrorMessage = "Наименование не может быть пустым"),
        DataType(DataType.Text), 
        StringLength(50, ErrorMessage = "Максимум 50 символов")]
        public string Value { get; set; }

        /// <summary>
        /// Заявки
        /// </summary>
        [DisplayName("Заявки"), Contrib.Computed]
        public List<Request> Requests { get; set; }
    }
}
