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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 外包機種資料
    /// </summary>
    [Table("SN_KEYPART", Schema = "JHAMES")]
    [DataContract]
    public class SNKeyPart
    {
        /// <summary>
        /// 入庫單號
        /// </summary>
        [Key]
        [Column("STOCK_IN_NO")]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public string StockInNo { get; set; }

        /// <summary>
        /// 入庫料號
        /// </summary>
        [Column("STOCK_IN_PN")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "入庫料號")]
        public string StockInPn { get; set; }

        /// <summary>
        /// 組件日期
        /// </summary>
        [Column("KP_DATE")]
        [DataMember]
        [Display(Name = "組件日期")]
        public DateTime KPDate { get; set; }

        /// <summary>
        /// 組件序號
        /// </summary>
        [Key]
        [Column("KP_ITEM")]
        [DataMember]
        [Display(Name = "組件序號")]
        public int KPItem { get; set; }

        /// <summary>
        /// 組件SN
        /// </summary>
        [Column("KP_SN")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "組件SN")]
        public string KPSn { get; set; }

        /// <summary>
        /// 組件MB
        /// </summary>
        [Column("KP_MB")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "組件MB")]
        public string KPMb { get; set; }

        /// <summary>
        /// 組件MAC
        /// </summary>
        [Column("KP_MAC")]
        [DataMember]
        [Display(Name = "組件MAC")]
        public string KPMac { get; set; }

        /// <summary>
        /// 組件Panel
        /// </summary>
        [Column("KP_PANEL")]
        [DataMember]
        [Display(Name = "組件Panel")]
        public string KPPanel { get; set; }

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Display(Name = "建立者")]
        public int CreateUserID { get; set; } = 0;

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