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

namespace AMESCoreStudio.WebApi.Models.AMES
{
    /// <summary>
    /// 每日出勤資料檔
    /// </summary>
    [Table("WORK_MANPOWER", Schema = "JHAMES")]
    [DataContract]
    public class WorkManPower
    {
        /// <summary>
        /// 每日出勤ID
        /// </summary>
        [Key]
        [Column("POWER_ID")]
        [Required(ErrorMessage = "{0},不能空白")]
        [DataMember]
        public int PowerID { get; set; }

        /// <summary>
        /// 出勤日期
        /// </summary>
        [Column("POWER_DATE")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "出勤日期")]
        public DateTime PowerDate { get; set; }

        /// <summary>
        /// 員工工號
        /// </summary>
        [Column("USER_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "員工工號")]
        public string UserNo { get; set; }

        /// <summary>
        /// 員工名稱
        /// </summary>
        [Column("USER_NAME")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "員工名稱")]
        public string UserName { get; set; }

        /// <summary>
        /// 制程代碼
        /// </summary>
        [Column("UNIT_NO")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "制程代碼")]
        public string UnitNo { get; set; }

        /// <summary>
        /// 工作類別ID
        /// </summary>
        [Column("CLASS_ID")]
        [DataMember]
        [Display(Name = "工作類別ID")]
        public int ClassID { get; set; }

        /// <summary>
        /// 正常加班(H)
        /// </summary>
        [Column("OVER_H")]
        [DataMember]
        [Display(Name = "正常加班(H)")]
        public decimal OvarH { get; set; }

        /// <summary>
        /// 預加/補班(H)
        /// </summary>
        [Column("PREPAR_REST_H")]
        [DataMember]
        [Display(Name = "預加/補班(H)")]
        public decimal PreparRestH { get; set; }

        /// <summary>
        /// 實際調休(H)
        /// </summary>
        [Column("FACT_REST_H")]
        [DataMember]
        [Display(Name = "實際調休(H)")]
        public decimal FactRestH { get; set; }

        /// <summary>
        /// 請假(H)
        /// </summary>
        [Column("LEAVE_H")]
        [DataMember]
        [Display(Name = "請假(H)")]
        public decimal LeaveH { get; set; }

        /// <summary>
        /// 線別
        /// </summary>
        [Column("LINE_ID")]
        [DataMember]
        [Display(Name = "線別")]
        public int LineID { get; set; }

        /// <summary>
        /// 站別ID
        /// </summary>
        [Column("STATION_ID")]
        [DataMember]
        [Display(Name = "站別")]
        public int StationID { get; set; }

        /// <summary>
        /// 休息時間(Min)
        /// </summary>
        [Column("BREAK_TIME")]
        [DataMember]
        [Display(Name = "休息時間(Min)")]
        public int BreakTime { get; set; }

        /// <summary>
        /// 廠別
        /// </summary>
        [Column("WERKS")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "廠別")]
        public string Werks { get; set; }

        /// <summary>
        /// 實際出勤時數(H)
        /// </summary>
        [Column("FACT_WORK_H")]
        [DataMember]
        [Display(Name = "實際出勤時數(H)")]
        public decimal FactWorkH { get; set; }

        /// <summary>
        /// 出勤班別
        /// </summary>
        [Column("CLASS_NO")]
        [DataMember]
        [Display(Name = "出勤班別")]
        public string ClassNo { get; set; }

        /// <summary>
        /// 建立者
        /// </summary>
        [Column("CREATE_USERID")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [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")]
        [DataMember]
        [Required(ErrorMessage = "{0},不能空白")]
        [Display(Name = "修改者")]
        public int UpdateUserID { get; set; }

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


        /// <summary>
        /// 人員
        /// </summary>
        public virtual AMESCoreStudio.WebApi.Models.SYS.UserInfo U { get; set; }



    }
}