2023-05-10 20:11:47 +07:00
|
|
|
|
using BMA.EHR.Recruit.Service.Models.Documents;
|
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
|
|
|
|
|
|
namespace BMA.EHR.Recurit.Exam.Service.Models
|
|
|
|
|
|
{
|
2023-10-08 13:58:03 +07:00
|
|
|
|
public class Candidate : EntityBase
|
2023-05-10 20:11:47 +07:00
|
|
|
|
{
|
|
|
|
|
|
[Required, Comment("Id การสอบ")]
|
|
|
|
|
|
public virtual PeriodExam? PeriodExam { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id ตำแหน่งสอบ")]
|
|
|
|
|
|
public virtual PositionExam? PositionExam { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Required, MaxLength(40), Comment("User Id ผู้สมัคร")]
|
|
|
|
|
|
public string UserId { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
[Required, MaxLength(20), Comment("สถานะผู้สมัคร")]
|
|
|
|
|
|
public string Status { get; set; } = "register";
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("เลขประจำตัวสอบ")]
|
|
|
|
|
|
public string? ExamIdenNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("เลขที่นั่งสอบ")]
|
|
|
|
|
|
public string? SeatNumber { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("คะแนนเต็มภาค ก")]
|
|
|
|
|
|
public string? PointTotalA { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ก ความสามารถในการคิดวิเคราะห์")]
|
|
|
|
|
|
public string? PointPath1A { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ก ภาษาอังกฤษ")]
|
|
|
|
|
|
public string? PointPath2A { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ก ความรู้และลักษณะการเป็นข้าราชการที่ดี")]
|
|
|
|
|
|
public string? PointPath3A { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ก")]
|
|
|
|
|
|
public string? PointA { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ก เปอร์เซนต์")]
|
|
|
|
|
|
public string? PointPerA { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ผลสอบภาค ก")]
|
|
|
|
|
|
public string? ResultA { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[Comment("คะแนนเต็มภาค ข")]
|
|
|
|
|
|
public string? PointTotalB { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ข")]
|
|
|
|
|
|
public string? PointB { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("คะแนนภาค ข เปอร์เซนต์")]
|
|
|
|
|
|
public string? PointPerB { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[Comment("ผลสอบภาค ข")]
|
|
|
|
|
|
public string? ResultB { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนเต็มภาค ค")]
|
|
|
|
|
|
public string? PointTotalC { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("คะแนนภาค คทดสอบสมรรถนะหลัก")]
|
|
|
|
|
|
public string? PointPath1C { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คะแนนภาค ค สัมภาษณ์")]
|
|
|
|
|
|
public string? PointPath2C { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[Comment("คะแนนภาค ค")]
|
|
|
|
|
|
public string? PointC { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("คะแนนภาค ค เปอร์เซนต์")]
|
|
|
|
|
|
public string? PointPerC { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[Comment("ผลสอบภาค ค")]
|
|
|
|
|
|
public string? ResultC { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id รูปโปรไฟล์")]
|
|
|
|
|
|
public virtual Document? ProfileImg { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id หลักฐานชำระเงิน")]
|
|
|
|
|
|
public virtual Document? PaymentImg { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ลำดับที่สอบได้")]
|
|
|
|
|
|
public string? Number { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id คำนำหน้าชื่อ")]
|
|
|
|
|
|
public Guid? PrefixId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คำนำหน้าชื่อ")]
|
|
|
|
|
|
public string? PrefixName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Column(Order = 1), Comment("ชื่อจริง")]
|
|
|
|
|
|
public string? FirstName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Column(Order = 2), Comment("นามสกุล")]
|
|
|
|
|
|
public string? LastName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(40), Column(Order = 3), Comment("สัญชาติ")]
|
|
|
|
|
|
public string? Nationality { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(40), Comment("วันเกิด")]
|
|
|
|
|
|
public DateTime? DateOfBirth { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id สถานภาพ")]
|
|
|
|
|
|
public Guid? RelationshipId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("สถานภาพ")]
|
|
|
|
|
|
public string? RelationshipName { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("Id ศาสนา")]
|
|
|
|
|
|
public Guid? ReligionId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ศาสนา")]
|
|
|
|
|
|
public string? ReligionName { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[MaxLength(200), Comment("อีเมล")]
|
|
|
|
|
|
public string? Email { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(20), Comment("เลขประจำตัวประชาชน")]
|
|
|
|
|
|
public string? CitizenId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id เขตที่ออกบัตรประชาชน")]
|
|
|
|
|
|
public Guid? CitizenDistrictId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("เขตที่ออกบัตรประชาชน")]
|
|
|
|
|
|
public string? CitizenDistrictName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id จังหวัดที่ออกบัตรประชาชน")]
|
|
|
|
|
|
public Guid? CitizenProvinceId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("จังหวัดที่ออกบัตรประชาชน")]
|
|
|
|
|
|
public string? CitizenProvinceName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("วันที่ออกบัตร")]
|
|
|
|
|
|
public DateTime? CitizenDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(20), Comment("โทรศัพท์")]
|
|
|
|
|
|
public string? Telephone { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(20), Comment("โทรศัพท์มือถือ")]
|
|
|
|
|
|
public string? MobilePhone { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ความสามารถพิเศษ")]
|
|
|
|
|
|
public string? Knowledge { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public string? RegistAddress { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id จังหวัดที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public Guid? RegistProvinceId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("จังหวัดที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public string? RegistProvinceName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id อำเภอที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public Guid? RegistDistrictId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("อำเภอที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public string? RegistDistrictName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id ตำบลที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public Guid? RegistSubDistrictId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ตำบลที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public string? RegistSubDistrictName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public string? RegistZipCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน")]
|
|
|
|
|
|
public bool? RegistSame { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public string? CurrentAddress { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id จังหวัดที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public Guid? CurrentProvinceId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("จังหวัดที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public string? CurrentProvinceName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id อำเภอที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public Guid? CurrentDistrictId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("อำเภอที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public string? CurrentDistrictName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id ตำบลที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public Guid? CurrentSubDistrictId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ตำบลที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public string? CurrentSubDistrictName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน")]
|
|
|
|
|
|
public string? CurrentZipCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คู่สมรส")]
|
|
|
|
|
|
public bool? Marry { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id คำนำหน้าชื่อคู่สมรส")]
|
|
|
|
|
|
public Guid? MarryPrefixId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คำนำหน้าชื่อคู่สมรส")]
|
|
|
|
|
|
public string? MarryPrefixName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("ชื่อจริงคู่สมรส")]
|
|
|
|
|
|
public string? MarryFirstName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("นามสกุลคู่สมรส")]
|
|
|
|
|
|
public string? MarryLastName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(200), Comment("อาชีพคู่สมรส")]
|
|
|
|
|
|
public string? MarryOccupation { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("สัญชาติคู่สมรส")]
|
|
|
|
|
|
public string? MarryNationality { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id คำนำหน้าชื่อบิดา")]
|
|
|
|
|
|
public Guid? FatherPrefixId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คำนำหน้าชื่อบิดา")]
|
|
|
|
|
|
public string? FatherPrefixName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("ชื่อจริงบิดา")]
|
|
|
|
|
|
public string? FatherFirstName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("นามสกุลบิดา")]
|
|
|
|
|
|
public string? FatherLastName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(200), Comment("อาชีพบิดา")]
|
|
|
|
|
|
public string? FatherOccupation { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("สัญชาติบิดา")]
|
|
|
|
|
|
public string? FatherNationality { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("Id คำนำหน้าชื่อมารดา")]
|
|
|
|
|
|
public Guid? MotherPrefixId { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("คำนำหน้าชื่อมารดา")]
|
|
|
|
|
|
public string? MotherPrefixName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("ชื่อจริงมารดา")]
|
|
|
|
|
|
public string? MotherFirstName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("นามสกุลมารดา")]
|
|
|
|
|
|
public string? MotherLastName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(200), Comment("อาชีพมารดา")]
|
|
|
|
|
|
public string? MotherOccupation { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[MaxLength(100), Comment("สัญชาติมารดา")]
|
|
|
|
|
|
public string? MotherNationality { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")]
|
|
|
|
|
|
public string? OccupationOrg { get; set; }
|
|
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน กอง")]
|
|
|
|
|
|
public string? OccupationPile { get; set; }
|
|
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")]
|
|
|
|
|
|
public string? OccupationGroup { get; set; }
|
|
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน เงินเดือน")]
|
2025-12-04 23:15:42 +07:00
|
|
|
|
public double? OccupationSalary { get; set; }
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน สังกัด")]
|
2023-05-10 20:11:47 +07:00
|
|
|
|
public string? OccupationPosition { get; set; }
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("ตำแหน่งปัจจุบัน ประเภทราชการ")]
|
|
|
|
|
|
public string? OccupationPositionType { get; set; }
|
2023-05-10 20:11:47 +07:00
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[MaxLength(20), Comment("ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน")]
|
2023-05-10 20:11:47 +07:00
|
|
|
|
public string? OccupationTelephone { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("เหตุผลการไม่อนุมัติ")]
|
|
|
|
|
|
public string? RejectDetail { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ผลสมัครสอบ")]
|
|
|
|
|
|
public string? Pass { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[Comment("หมายเหตุ")]
|
|
|
|
|
|
public string? ExamReason { get; set; }
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
[Comment("คะแนนความพึงพอใจ")]
|
|
|
|
|
|
public int? ReviewPoint { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("ข้อแนะนำ")]
|
|
|
|
|
|
public string? Review { get; set; }
|
|
|
|
|
|
|
2023-10-08 13:58:03 +07:00
|
|
|
|
[MaxLength(40), Comment("วันที่สมัคร")]
|
|
|
|
|
|
public DateTime? RegisterDate { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
[Comment("วันที่ชำระเงิน")]
|
|
|
|
|
|
public DateTime? PaymentDate { get; set; }
|
|
|
|
|
|
public virtual List<Education> Educations { get; set; } = new List<Education>();
|
|
|
|
|
|
|
2023-05-10 20:11:47 +07:00
|
|
|
|
}
|
|
|
|
|
|
}
|