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


namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 工程編號烘烤對應維護
    /// </summary>
    [Table("MATERIAL_BAKE", Schema = "JHAMES")]
    public partial class MaterialBake
    {
        /// <summary>
        /// ID
        /// </summary>
        [DataMember]
        [Display(Name = "ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Key]
        [Column("MATERIAL_BAKE_ID")]
        public int MaterialBakeId { get; set; }

        /// <summary>
        /// 工程編號ID
        /// </summary>
        [DataMember]
        [Display(Name = "工程編號ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("ITEM_ID")]
        public int ItemId { get; set; }

        /// <summary>
        /// 烘烤類型
        /// </summary>
        [DataMember]
        [Display(Name = "烘烤類型")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("MATERIAL_BAKE_TYPE")]
        [StringLength(20)]
        public string MaterialBakeType { get; set; }

        /// <summary>
        /// 烘烤溫度
        /// </summary>
        [DataMember]
        [Display(Name = "烘烤溫度")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("MATERIAL_BAKE_TEMPERATURE")]
        public int MaterialBakeTemperature { get; set; }

        /// <summary>
        /// 烘烤時間
        /// </summary>
        [DataMember]
        [Display(Name = "烘烤時間")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("MATERIAL_BAKE_TIME")]
        public int MaterialBakeTime { get; set; }

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

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

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

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

        /// <summary>
        /// 工程編號資料
        /// </summary>
        [ForeignKey("ItemId")]
        public virtual MaterialItem GetMaterialItem { get; set; }
    }
}