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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 工單條碼區間設定檔(除内部SN)
    /// </summary>
    [Table("WIP_BARCODE_OTHER", Schema = "JHAMES")]
    [DataContract]
    public class WipBarcodeOther
    {
        /// <summary>
        /// 其他ID
        /// </summary>
        [Key]
        [Column("OTHER_ID")]
        [DataMember]
        public int OtherID { get; set; }

        /// <summary>
        /// 工單號碼
        /// </summary>
        [Column("WIP_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "工單號碼")]
        public string WipNO { get; set; }

        /// <summary>
        /// 開始條碼
        /// </summary>
        [Column("START_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "開始條碼")]
        public string StartNO { get; set; }

        /// <summary>
        /// 結束條碼
        /// </summary>
        [Column("END_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "結束條碼")]
        public string EndNO { get; set; }

        /// <summary>
        /// 類别代碼
        /// </summary>
        [Column("TYPE_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "類别代碼")]
        public string TypeNO { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [Column("TITLE")]
        [DataMember]
        [Display(Name = "title")]
        public string Title { get; set; }

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

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

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

        /// <summary>
        /// 更新者ID
        /// </summary>
        [Column("UPDATE_USERID")]
        [DataMember]
        [Display(Name = "更新者ID")]
        public int UpdateUserID { get; set; } = 0;

        /// <summary>
        /// D:十進位 H:十六進位
        /// </summary>
        [Column("RADIX")]
        [DataMember]
        public string Radix { get; set; } = "D";

        /// <summary>
        /// 流水碼長度
        /// </summary>
        [Column("SERIAL_LENGTH")]
        [DataMember]
        public int SerialLength { get; set; } = 4;

        /// <summary>
        /// 去尾碼數
        /// </summary>
        [Column("TRUNCATE")]
        [DataMember]
        public int Truncate { get; set; } = 0;

        /// <summary>
        /// 判斷重複
        /// </summary>
        [Column("CHECK_REPEAT")]
        [DataMember]
        public string CheckRepeat { get; set; } = "Y";

    }
}