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("QC_CRITERIA", Schema = "JHAMES")]
    public partial class QcCriterion
    {
        /// <summary>
        /// 抽驗標準ID
        /// </summary>
        [Key]
        [Column("CRIT_ID")]
        [DataMember]
        public int CritID { get; set; }

        /// <summary>
        /// 抽驗係数ID
        /// </summary>
        [DataMember]
        [Display(Name = "抽驗係数ID")]
        [Column("QUOT_ID")]
        public int QuotID { get; set; }

        /// <summary>
        /// 起始數量
        /// </summary>
        [DataMember]
        [Display(Name = "起始數量")]
        [Required(ErrorMessage = "{0},不能空白")]
        [RegularExpression("^[0-9]*$",ErrorMessage = "數字不能小於0")]
        [Column("QC_START")]
        public int QcStart { get; set; }

        /// <summary>
        /// 結束數量
        /// </summary>
        [DataMember]
        [Display(Name = "結束數量")]
        [Required(ErrorMessage = "{0},不能空白")]
        [RegularExpression("^[0-9]*$", ErrorMessage = "數字不能小於0")]
        [Column("QC_END")]
        public int QcEnd { get; set; }

        /// <summary>
        /// 抽樣代碼
        /// </summary>
        [DataMember]
        [Display(Name = "抽樣代碼")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Column("CRIT_NO")]
        [StringLength(3)]
        public string CritNo { get; set; }

        /// <summary>
        /// 抽樣數量
        /// </summary>
        [DataMember]
        [Display(Name = "抽樣數量")]
        [Required(ErrorMessage = "{0},不能空白")]
        [RegularExpression("^[0-9]*$", ErrorMessage = "數字不能小於0")]
        [Column("QC_QTY")]
        public int QcQty { get; set; }

        /// <summary>
        /// 允收數量
        /// </summary>
        [DataMember]
        [Display(Name = "允收數量")]
        [Required(ErrorMessage = "{0},不能空白")]
        [RegularExpression("^[0-9]*$", ErrorMessage = "數字不能小於0")]
        [Column("AC_QTY")]
        public int AcQty { get; set; }

        /// <summary>
        /// 拒收數量
        /// </summary>
        [DataMember]
        [Display(Name = "拒收數量")]
        [Required(ErrorMessage = "{0},不能空白")]
        [RegularExpression("^[0-9]*$", ErrorMessage = "數字不能小於0")]
        [Column("RE_QTY")]
        public int ReQty { 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("QuotID")]
        public virtual QcQuot GetQcQuot { get; set; }
    }
}