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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 工單條碼起迄資料檔
    /// </summary>
    [Table("WIP_BARCODE", Schema = "JHAMES")]
    [DataContract]
    public class WipBarcode
    {
        /// <summary>
        /// 工單號碼
        /// </summary>
        [Key]
        [Column("WIP_NO", Order = 0)]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public string WipNO { get; set; }

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

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

        /// <summary>
        /// 工單ID
        /// </summary>
        [Column("WIP_ID")]
        [DataMember]
        [Display(Name = "工單ID")]
        public int? WipID { get; set; } = -1;

        /// <summary>
        /// 生產單位
        /// </summary>
        [Column("UNIT_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "生產單位")]
        public string UnitNO { get; set; } = "S";

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

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Display(Name = "建立者")]
        public decimal 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;

    }
}