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>
    //[Keyless]
    [Table("SAMPLE_SHIPMENT_SN", Schema = "JHAMES")]
    //[Index(nameof(CreateDate), Name = "SAMPLE_SHIPMENT_SN_PK", IsUnique = true)]

    public partial class SampleSipmentSN
    {
        /// <summary>
        /// 工單
        /// </summary>
        [Required]
        [Column("SAMPLE_WIP_NO")]
        [StringLength(30)]
        [Display(Name = "工單")]
        [DataMember]
        public string SampleWipNo { get; set; }

        /// <summary>
        /// 料號 or 工程編號
        /// </summary>
        [Required]
        [Column("ITEM_NO")]
        [StringLength(20)]
        [DataMember]
        [Display(Name = "工程編號")]
        public string ItemNo { get; set; }

        /// <summary>
        /// 年
        /// </summary>
        [Required]
        [Column("QTY")]
        [DataMember]
        [Display(Name = "數量")]
        public int Qty { get; set; }

        /// <summary>
        /// 開工日期
        /// </summary>
        [Required]
        [Column("START_DATE")]
        [DataMember]
        [Display(Name = "開工日期")]
        public DateTime StartDate { get; set; }

        /// <summary>
        /// 完工日期
        /// </summary>
        [Required]
        [Column("COMPLETED_DATE")]
        [DataMember]
        [Display(Name = "完工日期")]
        public DateTime CompletedDate { get; set; }


        /// <summary>
        /// PowerCord
        /// </summary>
        [Column("POWER_CORD")]
        [DataMember]
        [Display(Name = "Power Cord")]
        [StringLength(20)]
        public string PowerCord { get; set; }

        /// <summary>
        /// ECN
        /// </summary>
        [Column("ECN")]
        [DataMember]
        [Display(Name = "ECN")]
        [StringLength(20)]
        public string ECN { get; set; }

        /// <summary>
        /// BIOS
        /// </summary>
        [Column("BIOS")]
        [DataMember]
        [Display(Name = "BIOS")]
        [StringLength(20)]
        public string BIOS { get; set; }

        /// <summary>
        /// EAN
        /// </summary>
        [Column("EAN")]
        [DataMember]
        [Display(Name = "EAN")]
        [StringLength(20)]
        public string EAN { get; set; }

        /// <summary>
        /// 內部序號
        /// </summary>
        [Column("BARCODE_NO")]
        [StringLength(30)]
        [DataMember]
        [Display(Name = "內部序號")]
        public string BarcodeNo { get; set; }

        /// <summary>
        /// 起始序號
        /// </summary>
        [Required]
        [Column("START_NO")]
        [StringLength(30)]
        [DataMember]
        [Display(Name = "起始序號")]
        public string StartNo { get; set; }

        /// <summary>
        /// 結束序號
        /// </summary>
        [Required]
        [Column("END_NO")]
        [StringLength(30)]
        [DataMember]
        [Display(Name = "結束序號")]
        public string EndNo { get; set; }

        /// <summary>
        /// 更新UserID
        /// </summary>
        [Column("CREATE_NAME")]
        [DataMember]
        [Display(Name = "開單人員")]
        public string CreateName { get; set; } 

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

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


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

    }
}