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("Position"), DisplayName("Должность"), DisplayColumn("Value")]
    public class Position
    {
        /// <summary>
        /// Ключ
        /// </summary>
        [DisplayName("Id"), Contrib.Key]
        public int PositionId { 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<Employee> Employees { get; set; }
    }
}
