using BMA.EHR.Recruit.Service.Models.Documents; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace BMA.EHR.Recruit.Service.Models.Recruits { public class RecruitImport : EntityBase { [Required, Comment("ปีงบประมาณที่จัดสอบ"), Column(Order = 1)] public int Year { get; set; } [Required, MaxLength(250), Comment("รอบการสอบ"), Column(Order = 2)] public string Name { get; set; } = string.Empty; [Required, Comment("ครั้งที่"), Column(Order = 3)] public int Order { get; set; } = 1; // Round [Column(Order = 4), Comment("รายละเอียด")] public string? Detail { get; set; } [Column(Order = 5), Comment("ค่าธรรมเนียม")] public int Fee { get; set; } = 0; [Column(Order = 6), Comment("วันเริ่มประกาศ")] public DateTime? AnnouncementStartDate { get; set; } [Column(Order = 7), Comment("วันสิ้นสุดประกาศ")] public DateTime? AnnouncementEndDate { get; set; } [Column(Order = 8), Comment("วันเริ่มชำระเงิน")] public DateTime? PaymentStartDate { get; set; } [Column(Order = 9), Comment("วันสิ้นสุดชำระเงิน")] public DateTime? PaymentEndDate { get; set; } [Column(Order = 10), Comment("วันเริ่มสมัครสอบ")] public DateTime? RegisterStartDate { get; set; } [Column(Order = 11), Comment("วันสิ้นสุดสมัครสอบ")] public DateTime? RegisterEndDate { get; set; } [Column(Order = 12), Comment("วันที่สอบ")] public DateTime? ExamDate { get; set; } [Column(Order = 13, TypeName = "text"), Comment("หมายเหตุ")] public string? Note { get; set; } [Column(Order = 14), Comment("วันที่ประกาศผลสอบ")] public DateTime? AnnouncementDate { get; set; } public Document ImportFile { get; set; } = new Document(); public List Recruits { get; set; } = new List(); public ScoreImport ScoreImport { get; set; } public string? AuthName { get; set; } public string? AuthPosition { get; set; } public List ImportHostories { get; set; } = new List(); [Comment("รูป")] public virtual List RecruitImages { get; set; } = new(); [Comment("เอกสาร")] public virtual List RecruitDocuments { get; set; } = new(); } }