hrms-api-report-v1/Models/Exam/Candidate.cs

302 lines
12 KiB
C#
Raw Normal View History

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
{
public class Candidate : EntityBase
{
[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; }
[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; }
[Comment("คะแนนเต็มภาค ข")]
public string? PointTotalB { get; set; }
[Comment("คะแนนภาค ข")]
public string? PointB { get; set; }
[Comment("คะแนนภาค ข เปอร์เซนต์")]
public string? PointPerB { get; set; }
[Comment("ผลสอบภาค ข")]
public string? ResultB { get; set; }
[Comment("คะแนนเต็มภาค ค")]
public string? PointTotalC { get; set; }
[Comment("คะแนนภาค คทดสอบสมรรถนะหลัก")]
public string? PointPath1C { get; set; }
[Comment("คะแนนภาค ค สัมภาษณ์")]
public string? PointPath2C { get; set; }
[Comment("คะแนนภาค ค")]
public string? PointC { get; set; }
[Comment("คะแนนภาค ค เปอร์เซนต์")]
public string? PointPerC { get; set; }
[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; }
[Comment("Id ศาสนา")]
public Guid? ReligionId { get; set; }
[Comment("ศาสนา")]
public string? ReligionName { get; set; }
[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; }
[Comment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")]
public string? OccupationOrg { get; set; }
[Comment("ตำแหน่งปัจจุบัน กอง")]
public string? OccupationPile { get; set; }
[Comment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")]
public string? OccupationGroup { get; set; }
[Comment("ตำแหน่งปัจจุบัน เงินเดือน")]
public double? OccupationSalary { get; set; }
[Comment("ตำแหน่งปัจจุบัน สังกัด")]
public string? OccupationPosition { get; set; }
[Comment("ตำแหน่งปัจจุบัน ประเภทราชการ")]
public string? OccupationPositionType { get; set; }
[MaxLength(20), Comment("ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน")]
public string? OccupationTelephone { get; set; }
[Comment("เหตุผลการไม่อนุมัติ")]
public string? RejectDetail { get; set; }
[Comment("ผลสมัครสอบ")]
public string? Pass { get; set; }
[Comment("หมายเหตุ")]
public string? ExamReason { get; set; }
[Comment("คะแนนความพึงพอใจ")]
public int? ReviewPoint { get; set; }
[Comment("ข้อแนะนำ")]
public string? Review { get; set; }
[MaxLength(40), Comment("วันที่สมัคร")]
public DateTime? RegisterDate { get; set; }
[Comment("วันที่ชำระเงิน")]
public DateTime? PaymentDate { get; set; }
public virtual List<Education> Educations { get; set; } = new List<Education>();
}
}