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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    ///  維修原因资料表
    /// </summary>
    [Table("RMA_REASON", Schema = "JHAMES")]
    [DataContract]
    public class RMAReason
    {
        /// <summary>
        /// 維修原因代碼
        /// </summary>
        [Key]
        [Column("RMA_REASON_NO")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "維修原因代碼")]
        [StringLength(20, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string RMAReasonNo { get; set; }

        /// <summary>
        /// 維修類別代碼
        /// </summary>
        [Column("RMA_CLASS_NO")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "維修類別代碼")]
        [StringLength(20, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string RMAClassNo { get; set; }

        /// <summary>
        /// 維修原因描述
        /// </summary>
        [Column("RMA_REASON_DESC")]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "維修原因描述")]
        [StringLength(200, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string RMAReasonDesc { get; set; }

        /// <summary>
        /// 維修原因英文描述
        /// </summary>
        [Column("RMA_REASON_DESC_EN")]
        [Display(Name = "維修原因英文描述")]
        [StringLength(200, ErrorMessage = "{0},不能大于{1}")]
        [DataMember]
        public string RMAReasonDescEn { get; set; }

        /// <summary>
        /// 責任單位
        /// </summary>
        [Column("RESPONSE_DEPT")]
        [DataMember]
        [Required]
        [Display(Name = "責任單位")]
        public int ResponseDept { get; set; }

        /// <summary>
        /// 問題歸屬/類別
        /// </summary>
        [Column("TYPE_ID")]
        [DataMember]
        [Required]
        [Display(Name = "問題歸屬/類別")]
        public int QATypeId { get; set; }

        /// <summary>
        /// 目標
        /// </summary>
        [Column("YIELD_GOAL")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "目標")]
        public decimal YieldGoal { get; set; } = 0;

        /// <summary>
        /// 維修原因狀態
        /// </summary>
        [Column("STATUS_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "維修原因狀態")]
        [StringLength(1, ErrorMessage = "{0},不能大于{1}")]
        public string StatusNo { get; set; }

    }
}