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


#nullable disable

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 鋼板基本資料檔
    /// </summary>
    [Table("STEEL_PLATE_INFO", Schema = "JHAMES")]
    public partial class SteelPlateInfo
    {
        /// <summary>
        /// 鋼板ID
        /// </summary>
        [DataMember]
        [Display(Name = "鋼板ID")]
        [Key]
        [Column("STEEL_PLATE_ID")]
        public int SteelPlateID { get; set; }

        /// <summary>
        /// 鋼板編號
        /// </summary>
        [DataMember]
        [Display(Name = "鋼板編號")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STEEL_PLATE_NO")]
        [StringLength(40)]
        public string SteelPlateNo { get; set; }

        /// <summary>
        /// 規格
        /// </summary>
        [DataMember]
        [Display(Name = "規格")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("SPECIFICATION")]
        [StringLength(60)]
        public string Specification { get; set; }

        /// <summary>
        /// PCB板料號
        /// </summary>
        [DataMember]
        [Display(Name = "PCB板料號")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("PCB_PART_NO")]
        [StringLength(40)]
        public string PcbPartNo { get; set; }

        /// <summary>
        /// 正背面 11=B/背面 ; 12=A/正面
        /// </summary>
        [DataMember]
        [Display(Name = "正背面")]
        [Column("SIDE")]
        public int Side { get; set; } = 11;

        /// <summary>
        /// 連板數
        /// </summary>
        [DataMember]
        [Display(Name = "連板數")]
        [Column("BOARDS")]
        public int Boards { get; set; } = 1;

        /// <summary>
        /// 標準張力_1
        /// </summary>
        [DataMember]
        [Display(Name = "標準張力_1")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STANDARD_TENSION_1")]
        [StringLength(10)]
        public string StandardTension1 { get; set; }

        /// <summary>
        /// 標準張力_2
        /// </summary>
        [DataMember]
        [Display(Name = "標準張力_2")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STANDARD_TENSION_2")]
        [StringLength(10)]
        public string StandardTension2 { get; set; }

        /// <summary>
        /// 標準張力_3
        /// </summary>
        [DataMember]
        [Display(Name = "標準張力_3")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STANDARD_TENSION_3")]
        [StringLength(10)]
        public string StandardTension3 { get; set; }

        /// <summary>
        /// 標準張力_4
        /// </summary>
        [DataMember]
        [Display(Name = "標準張力_4")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STANDARD_TENSION_4")]
        [StringLength(10)]
        public string StandardTension4 { get; set; }

        /// <summary>
        /// 標準張力_5
        /// </summary>
        [DataMember]
        [Display(Name = "標準張力_5")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("STANDARD_TENSION_5")]
        [StringLength(10)]
        public string StandardTension5 { get; set; }

        /// <summary>
        /// STATUS 0=失效 ; 1=有效
        /// </summary>
        [DataMember]
        [Display(Name = "狀態")]
        [Required]
        [Column("STATUS")]
        [StringLength(2)]
        public string Status { get; set; } = "1";

        /// <summary>
        /// 備註
        /// </summary>
        [DataMember]
        [Display(Name = "備註")]
        [Column("REMARK")]
        [StringLength(1024)]
        public string Remark { 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;
    }
}