using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using AMESCoreStudio.WebApi.Models.BAS;

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 標準工時资料表
    /// </summary>
    [Table("STANDARD_WORKTIME", Schema = "JHAMES")]
    public class StandardWorkTime
    {
        /// <summary>
        /// 標準工時ID
        /// </summary>
        [Key]
        [Column("STANDARD_ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public int StandardID { get; set; }

        /// <summary>
        /// 生產單位
        /// </summary>
        [Column("UNIT_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "生產單位")]
        public string UnitNo { get; set; }

        /// <summary>
        /// 線別ID
        /// </summary>
        [Column("LINE_ID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "線別")]
        public int LineID { get; set; }

        /// <summary>
        /// 料號 or 工程編號
        /// </summary>
        [Column("ITEM_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "工程編號")]
        public string ItemNo { get; set; }

        /// <summary>
        /// 作業人數
        /// </summary>
        [Column("OP_CNT")]
        [DataMember]
        [Display(Name = "作業人數")]
        [Required(ErrorMessage = "{0},不能空白")]
        public int OPCNT { get; set; }

        /// <summary>
        /// 首件產出時間
        /// </summary>
        [Column("FIRST_TIME")]
        [DataMember]
        [Display(Name = "首件產出時間(分)")]
        public decimal? FirstTime { get; set; }

        /// <summary>
        /// CT
        /// </summary>
        [Column("TOTAL_CT")]
        [DataMember]
        [Display(Name = "C/T(分)")]
        [Required(ErrorMessage = "{0},不能空白")]
        public double? TotalCT { get; set; }

        /// <summary>
        /// 節拍時間
        /// </summary>
        [Column("CT")]
        [DataMember]
        [Display(Name = "節拍時間(分)")]
        public decimal? CT { get; set; }

        /// <summary>
        /// 操機數
        /// </summary>
        [Column("MACHINE_CNT")]
        [DataMember]
        [Display(Name = "操機數(台/人)")]
        public decimal? MachineCT { get; set; }

        /// <summary>
        /// 正背面
        /// </summary>
        [Column("SIDE")]
        [DataMember]
        [Display(Name = "正背面")]
        [Required(ErrorMessage = "{0},不能空白")]
        public string Side { get; set; }

        /// <summary>
        /// 節拍時站別ID間
        /// </summary>
        [Column("STATION_ID")]
        [DataMember]
        [Display(Name = "站別")]
        [Required(ErrorMessage = "{0},不能空白")]
        public int StationID { get; set; }

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Display(Name = "建立者")]
        public int CreateUserID { get; set; }

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

        /// <summary>
        /// 修改者
        /// </summary>
        [Column("UPDATE_USERID")]
        [Display(Name = "修改者")]
        public int UpdateUserID { get; set; }

        /// <summary>
        /// 修改日期
        /// </summary>
        [Column("UPDATE_DATE")]
        [Display(Name = "修改日期")]
        public DateTime UpdateDate { get; set; }

        /// <summary>
        /// 線別
        /// </summary>
        public virtual LineInfo LineInfo { get; set; }
        
        /// <summary>
        /// 站別
        /// </summary>
        public virtual StationWorkingHour Stations { get; set; }


    }
}