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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 包裝箱號資料表
    /// </summary>
    [Table("BOX_CHANGE", Schema = "JHAMES")]
    [DataContract]
    public class BoxChange
    {
        /// <summary>
        /// 包裝拆箱ID
        /// </summary>
        [Column("BOX_CHANGE_ID")]
        [DataMember]
        [Display(Name = "包裝拆箱ID")]
        [Key]

        public int BoxChangeID { get; set; }

        /// <summary>
        /// 包裝箱號
        /// </summary>
        [Column("BOX_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "包裝箱號")]
        public string BoxNo { get; set; }

        /// <summary>
        /// 舊條碼序號
        /// </summary>
        [Column("BARCODE_NO_OLD")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "舊條碼序號")]
        public string BarcodeNoOld { get; set; }

        /// <summary>
        /// 新條碼序號
        /// </summary>
        [Column("BARCODE_NO_NEW")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "新條碼序號")]
        public string BarcodeNoNew { get; set; }

        /// <summary>
        /// 置換類型 
        /// </summary>
        [Column("CHANGE_TYPE")]
        [DataMember]
        [Display(Name = "置換類型")]
        public string ChangeType { get; set; }

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "建立者")]
        public int CreateUserID { get; set; } = 0;

        /// <summary>
        /// 建立時間
        /// </summary>
        [Column("CREATE_DATE")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "建立時間")]
        public DateTime CreateDate { get; set; } = DateTime.Now;


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