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

#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 料號基本資料檔
    /// </summary>
    [Table("MATERIAL_ITEM", Schema = "JHAMES")]
    [DataContract]
    public partial class MaterialItem
    {
        /// <summary>
        /// 料號ID
        /// </summary>
        [Key]
        [Column("ITEM_ID")]
        [DataMember]
        public int ItemID { get; set; }

        /// <summary>
        /// 料號名稱
        /// </summary>
        [Required]
        [Column("ITEM_NO")]
        [StringLength(40)]
        [Display(Name = "料號名稱")]
        [DataMember]
        public string ItemNo { get; set; }

        /// <summary>
        /// 料號描述
        /// </summary>
        [Display(Name = "料號描述")]
        [Column("ITEM_DESC")]
        [StringLength(200)]
        [DataMember]
        public string ItemDesc { get; set; }

        /// <summary>
        /// 客戶料號
        /// </summary>
        [Column("MPN")]
        [StringLength(50)]
        [Display(Name = "客戶料號")]
        [DataMember]
        public string Mpn { get; set; }


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

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

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

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

        /// <summary>
        /// 料號治具資訊資料檔
        /// </summary>

        //public virtual List<MaterialOutfit> MaterialOutfits { get; set; } = new List<MaterialOutfit>();

        ///// <summary>
        ///// 料號治具資訊資料檔
        ///// </summary>
  
        //public virtual List<MaterialKp> MaterialKps { get; set; } = new List<MaterialKp>();

        ///// <summary>
        ///// 料號站別工項資料檔
        ///// </summary>

        //public virtual List<MaterialStationsItem> MaterialStationsItems { get; set; } = new List<MaterialStationsItem>();
    }
}