using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 異常工時代碼資料檔
    /// </summary>
    [Table("EXCEPTION_CODE", Schema = "JHAMES")]
    [DataContract]
    public class ExceptionCode
    {
        /// <summary>
        /// 異常工時代碼
        /// </summary>
        [Key]
        [Column("EXCEPTION_NO")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常工時代碼")]
        [StringLength(12, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string ExceptionNo { get; set; }

        /// <summary>
        /// 異常工時群組代碼
        /// </summary>
        [Column("EXCEPTION_CLASS_NO")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常群組代碼")]
        [StringLength(6, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string ExceptionClassNo { get; set; }


        /// <summary>
        /// 異常工時描述
        /// </summary>
        [Column("EXCEPTION_DESC_CH")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常工時描述(中文)")]
        [StringLength(100, ErrorMessage = "{0},不能大于{1}")]
        public string ExceptionDescCH { get; set; }

        /// <summary>
        /// 異常工時描述
        /// </summary>
        [Column("EXCEPTION_DESC_EN")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "異常工時描述(英文)")]
        [StringLength(100, ErrorMessage = "{0},不能大于{1}")]
        public string ExceptionDescEN { get; set; }

        /// <summary>
        /// 備註
        /// </summary>
        [Column("MEMO")]
        [DataMember]
        [Display(Name = "備註")]
        public string Memo { get; set; }

        /// <summary>
        /// 狀態
        /// </summary>
        [Column("STATUS")]
        [DataMember]
        [Display(Name = "狀態")]
        public string Status { get; set; }


        /// <summary>
        /// 建立UserID
        /// </summary>
        [Column("CREATE_USERID")]
        [Required]
        [DataMember]
        public int CreateUserID { get; set; }

        /// <summary>
        /// 建立日期
        /// </summary>
        [Required]
        [Column("CREATE_DATE")]
        [DataMember]
        public DateTime CreateDate { get; set; }

        /// <summary>
        /// 更新UserID
        /// </summary>
        [Column("UPDATE_USERID")]
        [DataMember]
        public int UpdateUserID { get; set; }

        /// <summary>
        /// 更新日期
        /// </summary>
        [Column("UPDATE_DATE")]
        [DataMember]
        public DateTime UpdateDate { get; set; }


    }
}