diff --git a/Controllers/PeriodExamController.cs b/Controllers/PeriodExamController.cs
index 9808c56..98f8dd9 100644
--- a/Controllers/PeriodExamController.cs
+++ b/Controllers/PeriodExamController.cs
@@ -119,7 +119,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
/// เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ
/// ไม่ได้ Login เข้าระบบ
/// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpPost]
+ [HttpPost, DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
@@ -127,7 +127,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
- await _periodExamService.CreateAsync(item);
+ if (Request.Form.Files == null || Request.Form.Files.Count == 0)
+ {
+ return Error(GlobalMessages.NoFileToUpload);
+ }
+
+ var files = Request.Form.Files;
+ await _periodExamService.CreateAsync(item, files);
return Success();
}
@@ -146,7 +152,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
/// เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ
/// ไม่ได้ Login เข้าระบบ
/// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpPut("{examId:length(36)}")]
+ [HttpPut("{examId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
@@ -154,7 +160,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
- await _periodExamService.UpdateAsync(examId, item);
+ if (Request.Form.Files == null || Request.Form.Files.Count == 0)
+ {
+ return Error(GlobalMessages.NoFileToUpload);
+ }
+
+ var files = Request.Form.Files;
+
+ await _periodExamService.UpdateAsync(examId, item, files);
return Success();
}
diff --git a/Data/ApplicationDbContext.cs b/Data/ApplicationDbContext.cs
index 9546807..59a1d59 100644
--- a/Data/ApplicationDbContext.cs
+++ b/Data/ApplicationDbContext.cs
@@ -40,8 +40,11 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
public DbSet Documents { get; set; }
public DbSet CandidateDocuments { get; set; }
+
public DbSet PositionExams { get; set; }
+
public DbSet BankExams { get; set; }
+ public DbSet PeriodExamDocuments { get; set; }
}
}
diff --git a/Data/Migrations/ApplicationDbContextModelSnapshot.cs b/Data/Migrations/ApplicationDbContextModelSnapshot.cs
index b3c3f4b..22a1c4f 100644
--- a/Data/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/Data/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -972,6 +972,68 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
b.ToTable("PeriodExams");
});
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("PeriodExamId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DocumentId");
+
+ b.HasIndex("PeriodExamId");
+
+ b.ToTable("PeriodExamDocuments");
+ });
+
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
{
b.Property("Id")
@@ -1553,6 +1615,25 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
b.Navigation("EducationLevel");
});
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "Document")
+ .WithMany()
+ .HasForeignKey("DocumentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
+ .WithMany("PeriodExamDocuments")
+ .HasForeignKey("PeriodExamId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Document");
+
+ b.Navigation("PeriodExam");
+ });
+
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
{
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
@@ -1584,6 +1665,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
b.Navigation("Candidate");
+ b.Navigation("PeriodExamDocuments");
+
b.Navigation("PositionExam");
});
diff --git a/Migrations/20230407034739_Update table exam add document.Designer.cs b/Migrations/20230407034739_Update table exam add document.Designer.cs
new file mode 100644
index 0000000..ea526b3
--- /dev/null
+++ b/Migrations/20230407034739_Update table exam add document.Designer.cs
@@ -0,0 +1,1683 @@
+//
+using System;
+using BMA.EHR.Recurit.Exam.Service.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace BMA.EHR.Recurit.Exam.Service.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20230407034739_Update table exam add document")]
+ partial class Updatetableexamadddocument
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.4")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.BankExam", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("AccountName")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อบัญชี");
+
+ b.Property("AccountNumber")
+ .HasColumnType("longtext")
+ .HasComment("เลขบัญชี");
+
+ b.Property("BankName")
+ .HasColumnType("longtext")
+ .HasComment("ธนาคาร");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("PeriodExamId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PeriodExamId");
+
+ b.ToTable("BankExams");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Candidate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CitizenDate")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่ออกบัตร");
+
+ b.Property("CitizenDistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("CitizenId")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CitizenProvinceId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("CurrentAddress")
+ .HasColumnType("longtext")
+ .HasComment("ที่อยู่ปัจจุบัน");
+
+ b.Property("CurrentDistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("CurrentProvinceId")
+ .HasColumnType("char(36)");
+
+ b.Property("CurrentSubDistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("CurrentZipCode")
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)")
+ .HasComment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน");
+
+ b.Property("DateOfBirth")
+ .HasMaxLength(40)
+ .HasColumnType("datetime(6)")
+ .HasComment("วันเกิด");
+
+ b.Property("Email")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("อีเมล");
+
+ b.Property("ExamIdenNumber")
+ .HasColumnType("longtext")
+ .HasComment("เลขประจำตัวสอบ");
+
+ b.Property("FatherFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อจริงบิดา");
+
+ b.Property("FatherLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลบิดา");
+
+ b.Property("FatherNationality")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สัญชาติบิดา");
+
+ b.Property("FatherOccupation")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("อาชีพบิดา");
+
+ b.Property("FatherPrefixId")
+ .HasColumnType("char(36)");
+
+ b.Property("FirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasColumnOrder(1)
+ .HasComment("ชื่อจริง");
+
+ b.Property("Knowledge")
+ .HasColumnType("longtext")
+ .HasComment("ความสามารถพิเศษ");
+
+ b.Property("LastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasColumnOrder(2)
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Marry")
+ .HasColumnType("tinyint(1)")
+ .HasComment("คู่สมรส");
+
+ b.Property("MarryFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อจริงคู่สมรส");
+
+ b.Property("MarryLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลคู่สมรส");
+
+ b.Property("MarryNationality")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สัญชาติคู่สมรส");
+
+ b.Property("MarryOccupation")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("อาชีพคู่สมรส");
+
+ b.Property("MarryPrefixId")
+ .HasColumnType("char(36)");
+
+ b.Property("MobilePhone")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("โทรศัพท์มือถือ");
+
+ b.Property("MotherFirstName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อจริงมารดา");
+
+ b.Property("MotherLastName")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุลมารดา");
+
+ b.Property("MotherNationality")
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("สัญชาติมารดา");
+
+ b.Property("MotherOccupation")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("อาชีพมารดา");
+
+ b.Property("MotherPrefixId")
+ .HasColumnType("char(36)");
+
+ b.Property("Nationality")
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(3)
+ .HasComment("สัญชาติ");
+
+ b.Property("OccupationCompany")
+ .HasColumnType("longtext")
+ .HasComment("สำนัก/บริษัท บริษัท");
+
+ b.Property("OccupationDepartment")
+ .HasColumnType("longtext")
+ .HasComment("กอง/ฝ่าย บริษัท");
+
+ b.Property("OccupationEmail")
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasComment("อีเมล บริษัท");
+
+ b.Property("OccupationPosition")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่งอาชีพ");
+
+ b.Property("OccupationTelephone")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("โทรศัพท์ บริษัท");
+
+ b.Property("OccupationType")
+ .HasColumnType("longtext")
+ .HasComment("ประเภทอาชีพที่ทำงานมาก่อน");
+
+ b.Property("PaymentImgId")
+ .HasColumnType("char(36)");
+
+ b.Property("PeriodExamId")
+ .HasColumnType("char(36)");
+
+ b.Property("Point")
+ .HasColumnType("longtext")
+ .HasComment("คะแนน");
+
+ b.Property("PositionExamId")
+ .HasColumnType("char(36)");
+
+ b.Property("PrefixId")
+ .HasColumnType("char(36)");
+
+ b.Property("ProfileImgId")
+ .HasColumnType("char(36)");
+
+ b.Property("RegistAddress")
+ .HasColumnType("longtext")
+ .HasComment("ที่อยู่ตามทะเบียนบ้าน");
+
+ b.Property("RegistDistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("RegistProvinceId")
+ .HasColumnType("char(36)");
+
+ b.Property("RegistSame")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน");
+
+ b.Property("RegistSubDistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("RegistZipCode")
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)")
+ .HasComment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน");
+
+ b.Property("RejectDetail")
+ .HasColumnType("longtext")
+ .HasComment("เหตุผลการไม่อนุมัติ");
+
+ b.Property("RelationshipId")
+ .HasColumnType("char(36)");
+
+ b.Property("SeatNumber")
+ .HasColumnType("longtext")
+ .HasComment("เลขที่นั่งสอบ");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("สถานะผู้สมัคร");
+
+ b.Property("Telephone")
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)")
+ .HasComment("โทรศัพท์");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasComment("User Id ผู้สมัคร");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CitizenDistrictId");
+
+ b.HasIndex("CitizenProvinceId");
+
+ b.HasIndex("CurrentDistrictId");
+
+ b.HasIndex("CurrentProvinceId");
+
+ b.HasIndex("CurrentSubDistrictId");
+
+ b.HasIndex("FatherPrefixId");
+
+ b.HasIndex("MarryPrefixId");
+
+ b.HasIndex("MotherPrefixId");
+
+ b.HasIndex("PaymentImgId");
+
+ b.HasIndex("PeriodExamId");
+
+ b.HasIndex("PositionExamId");
+
+ b.HasIndex("PrefixId");
+
+ b.HasIndex("ProfileImgId");
+
+ b.HasIndex("RegistDistrictId");
+
+ b.HasIndex("RegistProvinceId");
+
+ b.HasIndex("RegistSubDistrictId");
+
+ b.HasIndex("RelationshipId");
+
+ b.ToTable("Candidates");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CandidateDocument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CandidateId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CandidateId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("CandidateDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Career", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CandidateId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DurationEnd")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(2)
+ .HasComment("ระยะเวลาสิ้นสุด");
+
+ b.Property("DurationStart")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(1)
+ .HasComment("ระยะเวลาเริ่ม");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnOrder(3)
+ .HasComment("สถานที่ทำงาน/ฝึกงาน");
+
+ b.Property("Position")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnOrder(4)
+ .HasComment("ตำแหน่ง/ลักษณะงาน");
+
+ b.Property("Reason")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnOrder(6)
+ .HasComment("เหตุผลที่ออก");
+
+ b.Property("Salary")
+ .HasMaxLength(20)
+ .HasColumnType("int")
+ .HasColumnOrder(5)
+ .HasComment("เงินเดือนสุดท้ายก่อนออก");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CandidateId");
+
+ b.ToTable("Careers");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(2)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)")
+ .HasColumnOrder(1)
+ .HasComment("เขต/อำเภอ");
+
+ b.Property("ProvinceId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProvinceId");
+
+ b.ToTable("Districts");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Detail")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FileName")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("varchar(255)");
+
+ b.Property("FileSize")
+ .HasColumnType("int");
+
+ b.Property("FileType")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ObjectRefId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Documents");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Education", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CandidateId")
+ .HasColumnType("char(36)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DurationEnd")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(2)
+ .HasComment("ระยะเวลาสิ้นสุด");
+
+ b.Property("DurationStart")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(1)
+ .HasComment("ระยะเวลาเริ่ม");
+
+ b.Property("EducationLevelId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Major")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnOrder(4)
+ .HasComment("สาขาวิชา/วิชาเอก");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasColumnOrder(3)
+ .HasComment("ชื่อสถานศึกษา");
+
+ b.Property("Scores")
+ .HasMaxLength(10)
+ .HasColumnType("float")
+ .HasColumnOrder(6)
+ .HasComment("คะแนนเฉลี่ยตลอดหลักสูตร");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CandidateId");
+
+ b.HasIndex("EducationLevelId");
+
+ b.ToTable("Educations");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.EducationLevel", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(2)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasColumnOrder(1)
+ .HasComment("ระดับการศึกษา");
+
+ b.HasKey("Id");
+
+ b.ToTable("EducationLevels");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("AnnouncementEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(6)
+ .HasComment("วันสิ้นสุดประกาศ");
+
+ b.Property("AnnouncementStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(5)
+ .HasComment("วันเริ่มประกาศ");
+
+ b.Property("CheckDisability")
+ .HasColumnType("tinyint(1)")
+ .HasComment("คนพิการ");
+
+ b.Property("CheckDocument")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ตรวจสอบเอกสารหลังประกาศผลสอบ");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("Detail")
+ .HasColumnType("longtext")
+ .HasComment("รายละเอียดสมัครสอบ");
+
+ b.Property("Fee")
+ .HasColumnType("float")
+ .HasComment("ค่าธรรมเนียม");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)")
+ .HasColumnOrder(7)
+ .HasComment("ชื่อการสอบ");
+
+ b.Property("Note")
+ .HasColumnType("longtext")
+ .HasComment("หมายเหตุ");
+
+ b.Property("OrganizationCodeId")
+ .HasColumnType("char(36)")
+ .HasComment("Id รหัสส่วนราชการ");
+
+ b.Property("OrganizationCodeName")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อรหัสส่วนราชการ");
+
+ b.Property("OrganizationId")
+ .HasColumnType("char(36)")
+ .HasComment("Id หน่วยงาน");
+
+ b.Property("OrganizationName")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อหน่วยงาน");
+
+ b.Property("PaymentEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(4)
+ .HasComment("วันสิ้นสุดชำระเงิน");
+
+ b.Property("PaymentKrungThai")
+ .HasColumnType("longtext")
+ .HasComment("ชำระเงินผ่านกรุงไทย");
+
+ b.Property("PaymentStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(3)
+ .HasComment("วันเริ่มชำระเงิน");
+
+ b.Property("RegisterEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(2)
+ .HasComment("วันสิ้นสุดสมัครสอบ");
+
+ b.Property("RegisterStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(1)
+ .HasComment("วันเริ่มสมัครสอบ");
+
+ b.Property("Round")
+ .HasColumnType("int")
+ .HasColumnOrder(8)
+ .HasComment("รอบการสอบ");
+
+ b.Property("SetSeat")
+ .HasColumnType("tinyint(1)")
+ .HasComment("เช็คอัพคะแนน");
+
+ b.Property("Year")
+ .HasColumnType("int")
+ .HasComment("ปีงบประมาณ");
+
+ b.HasKey("Id");
+
+ b.ToTable("PeriodExams");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("PeriodExamId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DocumentId");
+
+ b.HasIndex("PeriodExamId");
+
+ b.ToTable("PeriodExamDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("PeriodExamId")
+ .HasColumnType("char(36)");
+
+ b.Property("PositionId")
+ .HasColumnType("char(36)")
+ .HasComment("Id ตำแหน่ง");
+
+ b.Property("PositionName")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อตำแหน่ง");
+
+ b.Property("TypeId")
+ .HasColumnType("longtext")
+ .HasComment("Id ประเภทแบบฟอร์ม");
+
+ b.Property("TypeName")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อประเภทแบบฟอร์ม");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PeriodExamId");
+
+ b.ToTable("PositionExams");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Prefix", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(3)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasColumnOrder(2)
+ .HasComment("รายละเอียดคำนำหน้า");
+
+ b.HasKey("Id");
+
+ b.ToTable("Prefixes");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(2)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)")
+ .HasColumnOrder(1)
+ .HasComment("จังหวัด");
+
+ b.HasKey("Id");
+
+ b.ToTable("Provinces");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Relationship", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(2)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)")
+ .HasColumnOrder(1)
+ .HasComment("ชื่อความสัมพันธ์");
+
+ b.HasKey("Id");
+
+ b.ToTable("Relationships");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Religion", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(2)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasColumnOrder(1)
+ .HasComment("ศาสนา");
+
+ b.HasKey("Id");
+
+ b.ToTable("Religions");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DistrictId")
+ .HasColumnType("char(36)");
+
+ b.Property("IsActive")
+ .HasColumnType("tinyint(1)")
+ .HasColumnOrder(3)
+ .HasComment("สถานะการใช้งาน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)")
+ .HasColumnOrder(1)
+ .HasComment("เขต/อำเภอ");
+
+ b.Property("ZipCode")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("varchar(10)")
+ .HasColumnOrder(2)
+ .HasComment("รหัสไปรษณีย์");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DistrictId");
+
+ b.ToTable("SubDistricts");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.BankExam", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
+ .WithMany("BankExam")
+ .HasForeignKey("PeriodExamId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("PeriodExam");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Candidate", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "CitizenDistrict")
+ .WithMany()
+ .HasForeignKey("CitizenDistrictId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "CitizenProvince")
+ .WithMany()
+ .HasForeignKey("CitizenProvinceId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "CurrentDistrict")
+ .WithMany()
+ .HasForeignKey("CurrentDistrictId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "CurrentProvince")
+ .WithMany()
+ .HasForeignKey("CurrentProvinceId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "CurrentSubDistrict")
+ .WithMany()
+ .HasForeignKey("CurrentSubDistrictId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "FatherPrefix")
+ .WithMany()
+ .HasForeignKey("FatherPrefixId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "MarryPrefix")
+ .WithMany()
+ .HasForeignKey("MarryPrefixId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "MotherPrefix")
+ .WithMany()
+ .HasForeignKey("MotherPrefixId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "PaymentImg")
+ .WithMany()
+ .HasForeignKey("PaymentImgId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
+ .WithMany("Candidate")
+ .HasForeignKey("PeriodExamId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", "PositionExam")
+ .WithMany()
+ .HasForeignKey("PositionExamId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "Prefix")
+ .WithMany()
+ .HasForeignKey("PrefixId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "ProfileImg")
+ .WithMany()
+ .HasForeignKey("ProfileImgId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "RegistDistrict")
+ .WithMany()
+ .HasForeignKey("RegistDistrictId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "RegistProvince")
+ .WithMany()
+ .HasForeignKey("RegistProvinceId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "RegistSubDistrict")
+ .WithMany()
+ .HasForeignKey("RegistSubDistrictId");
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Relationship", "Relationship")
+ .WithMany()
+ .HasForeignKey("RelationshipId");
+
+ b.Navigation("CitizenDistrict");
+
+ b.Navigation("CitizenProvince");
+
+ b.Navigation("CurrentDistrict");
+
+ b.Navigation("CurrentProvince");
+
+ b.Navigation("CurrentSubDistrict");
+
+ b.Navigation("FatherPrefix");
+
+ b.Navigation("MarryPrefix");
+
+ b.Navigation("MotherPrefix");
+
+ b.Navigation("PaymentImg");
+
+ b.Navigation("PeriodExam");
+
+ b.Navigation("PositionExam");
+
+ b.Navigation("Prefix");
+
+ b.Navigation("ProfileImg");
+
+ b.Navigation("RegistDistrict");
+
+ b.Navigation("RegistProvince");
+
+ b.Navigation("RegistSubDistrict");
+
+ b.Navigation("Relationship");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CandidateDocument", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
+ .WithMany()
+ .HasForeignKey("CandidateId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "Document")
+ .WithMany()
+ .HasForeignKey("DocumentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Candidate");
+
+ b.Navigation("Document");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Career", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
+ .WithMany()
+ .HasForeignKey("CandidateId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Candidate");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province")
+ .WithMany("Districts")
+ .HasForeignKey("ProvinceId");
+
+ b.Navigation("Province");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Education", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
+ .WithMany()
+ .HasForeignKey("CandidateId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.EducationLevel", "EducationLevel")
+ .WithMany()
+ .HasForeignKey("EducationLevelId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Candidate");
+
+ b.Navigation("EducationLevel");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "Document")
+ .WithMany()
+ .HasForeignKey("DocumentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
+ .WithMany("PeriodExamDocuments")
+ .HasForeignKey("PeriodExamId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Document");
+
+ b.Navigation("PeriodExam");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
+ .WithMany("PositionExam")
+ .HasForeignKey("PeriodExamId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("PeriodExam");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
+ {
+ b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District")
+ .WithMany("SubDistricts")
+ .HasForeignKey("DistrictId");
+
+ b.Navigation("District");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
+ {
+ b.Navigation("SubDistricts");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", b =>
+ {
+ b.Navigation("BankExam");
+
+ b.Navigation("Candidate");
+
+ b.Navigation("PeriodExamDocuments");
+
+ b.Navigation("PositionExam");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Province", b =>
+ {
+ b.Navigation("Districts");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20230407034739_Update table exam add document.cs b/Migrations/20230407034739_Update table exam add document.cs
new file mode 100644
index 0000000..cfb1687
--- /dev/null
+++ b/Migrations/20230407034739_Update table exam add document.cs
@@ -0,0 +1,68 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace BMA.EHR.Recurit.Exam.Service.Migrations
+{
+ ///
+ public partial class Updatetableexamadddocument : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "PeriodExamDocuments",
+ columns: table => new
+ {
+ Id = table.Column(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
+ CreatedAt = table.Column(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
+ CreatedUserId = table.Column(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ LastUpdatedAt = table.Column(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
+ LastUpdateUserId = table.Column(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ CreatedFullName = table.Column