diff --git a/Controllers/RecruitController.cs b/Controllers/RecruitController.cs
index 28ba750..dbcebd0 100644
--- a/Controllers/RecruitController.cs
+++ b/Controllers/RecruitController.cs
@@ -634,7 +634,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
x.Order,
ImportDate = x.CreatedAt.Date.ToThaiShortDate(),
ExamCount = x.Recruits.Count(),
- Score = x.ScoreImport == null ? null :
+ Score = x.ScoreImport == null || x.ScoreImport.Scores.Count == 0 ? null :
new
{
ID = x.ScoreImport.Id,
@@ -973,7 +973,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
///
- /// นำเข้ารายชื่อผู้สมัครสอบแข่งขัน
+ /// นำเข้ารายชื่อผู้สมัครสอบแข่งขัน (ข้อมูลผู้สมัครสอบ)
///
/// รหัสรอบการสอบแข่งขัน
///
@@ -1073,7 +1073,8 @@ namespace BMA.EHR.Recruit.Service.Controllers
var r = new Models.Recruits.Recruit();
r.ExamId = workSheet?.Cells[row, 1]?.GetValue() ?? "";
- r.CitizenId = workSheet?.Cells[row, 12]?.GetValue() ?? "";
+ r.PositionName = workSheet?.Cells[row, 3]?.GetValue() ?? "";
+ r.HddPosition = workSheet?.Cells[row, 4]?.GetValue() ?? "";
r.Prefix = workSheet?.Cells[row, 5]?.GetValue() == "อื่น ๆ" ? workSheet?.Cells[row, 6]?.GetValue() ?? "" : workSheet?.Cells[row, 5]?.GetValue() ?? "";
r.FirstName = workSheet?.Cells[row, 7]?.GetValue() ?? "";
r.LastName = workSheet?.Cells[row, 8]?.GetValue() ?? "";
@@ -1081,17 +1082,16 @@ namespace BMA.EHR.Recruit.Service.Controllers
r.National = workSheet?.Cells[row, 9]?.GetValue() ?? "";
r.Race = workSheet?.Cells[row, 9999]?.GetValue() ?? "";
r.Religion = workSheet?.Cells[row, 10]?.GetValue() ?? "";
- //r.DateOfBirth = DateTime.TryParseExact(workSheet?.Cells[row, 11]?.GetValue()?.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out var dob) && dob.Year > 2500 ? dob.AddYears(-543) : DateTime.MinValue;
r.DateOfBirth = !string.IsNullOrWhiteSpace(workSheet?.Cells[row, 11]?.GetValue()) ? _recruitService.CheckDateTime(workSheet?.Cells[row, 11]?.GetValue() ?? "", "dd/MM/yyyy") : DateTime.MinValue;
+ r.CitizenId = workSheet?.Cells[row, 12]?.GetValue() ?? "";
r.Marry = workSheet?.Cells[row, 9999]?.GetValue() ?? "";
r.Isspecial = "N";
r.CitizenCardIssuer = workSheet?.Cells[row, 9999]?.GetValue() ?? "";
r.CitizenCardExpireDate = Convert.ToDateTime(workSheet?.Cells[row, 9999]?.GetValue().ToDateTime(DateTimeFormat.Ymd, "-"));
- r.ApplyDate = (DateTime)workSheet?.Cells[row, 9999]?.GetValue();
- r.PositionName = workSheet?.Cells[row, 3]?.GetValue() ?? "";
- r.HddPosition = workSheet?.Cells[row, 4]?.GetValue() ?? "";
+ r.ApplyDate = !string.IsNullOrWhiteSpace(workSheet?.Cells[row, 87]?.GetValue()) ? _recruitService.CheckDateTime(workSheet?.Cells[row, 87]?.GetValue() ?? "", "dd/MM/yyyy") : DateTime.MinValue;
r.PositionType = workSheet?.Cells[row, 9999]?.GetValue() ?? "";
r.PositionLevel = workSheet?.Cells[row, 9999]?.GetValue() ?? "";
+
r.CreatedAt = DateTime.Now;
r.CreatedUserId = UserId ?? "";
r.CreatedFullName = FullName ?? "System Administrator";
@@ -1239,7 +1239,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
#region " Score File "
///
- /// นำเข้าผลคะแนนสอบแข่งขัน
+ /// นำเข้าผลคะแนนสอบแข่งขัน (บัญชีรวมคะแนน)
///
/// รหัสรอบการสอบแข่งขัน
///
@@ -1327,6 +1327,14 @@ namespace BMA.EHR.Recruit.Service.Controllers
Scores = new List()
};
+ // preload recruits ทั้งหมดของครั้งเดียว และ Group ExamId เอาเฉพาะ key ที่ไม่ซ้ำ
+ var recruitsDict = await _context.Recruits
+ .Where(x => x.RecruitImport.Id == rec_import.Id)
+ .GroupBy(x => x.ExamId)
+ .Where(g => g.Count() == 1)
+ .Select(g => g.First())
+ .ToDictionaryAsync(x => x.ExamId, x => x);
+
// import datafile
System.IO.File.WriteAllBytes(importFile, fileContent);
@@ -1377,62 +1385,14 @@ namespace BMA.EHR.Recruit.Service.Controllers
#endregion
r.ExamId = workSheet?.Cells[row, 2]?.GetValue();
- r.CitizenId = workSheet?.Cells[row, 3]?.GetValue();
- // ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง
- r.FullA = 200;
- r.SumA = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 5]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 5]?.GetValue();
- r.PercentageA = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 6]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 6]?.GetValue();
- r.AStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 7]?.GetValue()) ? "" : workSheet?.Cells[row, 7]?.GetValue();
- r.SumAB = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 5]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 5]?.GetValue();
- r.ABStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 7]?.GetValue()) ? "" : workSheet?.Cells[row, 7]?.GetValue();
-
- // ภาคความเหมาะสมกับตำแหน่ง
- r.FullC = 50;
- r.SumC = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 8]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 8]?.GetValue();
- r.FullD = 50;
- r.SumD = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 9]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 9]?.GetValue();
- r.SumCD = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 10]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 10]?.GetValue();
- r.PercentageC = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 11]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 11]?.GetValue();
- r.CStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 12]?.GetValue()) ? "" : workSheet?.Cells[row, 12]?.GetValue();
-
- r.FullScore = 300;
- r.TotalScore = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 13]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 13]?.GetValue(); ;
-
- if (workSheet?.Cells[row, 7]?.GetValue() == "ขาดสอบ")
- {
- r.ExamStatus = "ขส.";
- }
- else if (workSheet?.Cells[row, 14]?.GetValue() == "ได้")
- {
- r.ExamStatus = "ผ่าน";
- }
- else if (workSheet?.Cells[row, 14]?.GetValue() == "ตก")
- {
- r.ExamStatus = "ไม่ผ่าน";
- }
- else
- {
- r.ExamStatus = "-";
- }
-
- r.RemarkScore = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 15]?.GetValue()) ? string.Empty : workSheet?.Cells[row, 15]?.GetValue();
- r.Major = workSheet.Name;
-
- r.CreatedAt = DateTime.Now;
- r.CreatedUserId = UserId ?? "";
- r.CreatedFullName = FullName ?? "System Administrator";
- r.LastUpdatedAt = DateTime.Now;
- r.LastUpdateUserId = UserId ?? "";
- r.LastUpdateFullName = FullName ?? "System Administrator";
-
- imported.Scores.Add(r);
- row++;
- var recruit = await _context.Recruits.AsQueryable()
- .Include(x => x.RecruitImport)
- .Where(x => x.RecruitImport == rec_import && x.ExamId == r.ExamId)
- .FirstOrDefaultAsync();
- if (recruit != null)
+ //var recruit = await _context.Recruits.AsQueryable()
+ // .Include(x => x.RecruitImport)
+ // .Where(x => x.RecruitImport == rec_import && x.ExamId == r.ExamId)
+ // .FirstOrDefaultAsync();
+
+ // ใช้ dictionary lookup แทน query DB ทีละรอบ
+ if (!string.IsNullOrEmpty(r.ExamId) && recruitsDict.TryGetValue(r.ExamId, out var recruit))
{
var apiUrl = $"{_configuration["API"]}/org/find/head/officer";
using (var client = new HttpClient())
@@ -1449,9 +1409,63 @@ namespace BMA.EHR.Recruit.Service.Controllers
recruit.AuthPosition = org.result.position == null ? "" : org.result.position;
}
}
+
+ r.CitizenId = workSheet?.Cells[row, 3]?.GetValue();
+
+ // ภาคความรู้ความสามารถที่ใช้เฉพาะตำแหน่ง
+ r.FullA = 200;
+ r.SumA = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 5]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 5]?.GetValue();
+ r.PercentageA = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 6]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 6]?.GetValue();
+ r.AStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 7]?.GetValue()) ? "" : workSheet?.Cells[row, 7]?.GetValue();
+ r.SumAB = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 5]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 5]?.GetValue();
+ r.ABStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 7]?.GetValue()) ? "" : workSheet?.Cells[row, 7]?.GetValue();
+
+ // ภาคความเหมาะสมกับตำแหน่ง
+ r.FullC = 50;
+ r.SumC = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 8]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 8]?.GetValue();
+ r.FullD = 50;
+ r.SumD = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 9]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 9]?.GetValue();
+ r.SumCD = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 10]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 10]?.GetValue();
+ r.PercentageC = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 11]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 11]?.GetValue();
+ r.CStatus = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 12]?.GetValue()) ? "" : workSheet?.Cells[row, 12]?.GetValue();
+
+ r.FullScore = 300;
+ r.TotalScore = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 13]?.GetValue()) ? 0.00 : (double)workSheet?.Cells[row, 13]?.GetValue(); ;
+
+ if (workSheet?.Cells[row, 7]?.GetValue() == "ขาดสอบ")
+ {
+ r.ExamStatus = "ขส.";
+ }
+ else if (workSheet?.Cells[row, 14]?.GetValue() == "ได้")
+ {
+ r.ExamStatus = "ผ่าน";
+ }
+ else if (workSheet?.Cells[row, 14]?.GetValue() == "ตก")
+ {
+ r.ExamStatus = "ไม่ผ่าน";
+ }
+ else
+ {
+ r.ExamStatus = "-";
+ }
+
+ r.RemarkScore = string.IsNullOrWhiteSpace(workSheet?.Cells[row, 15]?.GetValue()) ? string.Empty : workSheet?.Cells[row, 15]?.GetValue();
+ r.Major = workSheet.Name;
+
+ r.CreatedAt = DateTime.Now;
+ r.CreatedUserId = UserId ?? "";
+ r.CreatedFullName = FullName ?? "System Administrator";
+ r.LastUpdatedAt = DateTime.Now;
+ r.LastUpdateUserId = UserId ?? "";
+ r.LastUpdateFullName = FullName ?? "System Administrator";
+
+ imported.Scores.Add(r);
}
- }
- }
+
+ row++;
+
+ } // end of sheet loop
+ } // end of all file loop
}
// finally save to database
@@ -1477,7 +1491,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
#region " Result File "
///
- /// นำเข้าผลการสอบแข่งขัน
+ /// นำเข้าผลการสอบแข่งขัน (ผลการสอบ)
///
/// รหัสรอบการสอบแข่งขัน
///
@@ -1514,14 +1528,47 @@ namespace BMA.EHR.Recruit.Service.Controllers
if (rec_import == null)
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
+ // update ฟิลด์ลำดับที่สอบได้และหมายเหตุจากลำดับที่สอบได้อันเก่าก่อน
+ if (rec_import.ScoreImport != null && rec_import.ScoreImport.Scores != null)
+ {
+ var _oldScores = rec_import.ScoreImport.Scores
+ .Where(x => !string.IsNullOrEmpty(x.Number))
+ .ToList();
+ if (_oldScores.Count > 0)
+ {
+ foreach (var x in _oldScores)
+ {
+ x.Number = null;
+ x.RemarkExamOrder = null;
+ }
+ await _context.SaveChangesAsync();
+ }
+ }
+
+ // create import history
+ rec_import.ImportHostories.Add(new RecruitImportHistory
+ {
+ Description = "นำเข้าข้อมูลผลการสอบ",
+ CreatedAt = DateTime.Now,
+ CreatedUserId = UserId ?? "",
+ CreatedFullName = FullName ?? "System Administrator",
+ LastUpdatedAt = DateTime.Now,
+ LastUpdateUserId = UserId ?? "",
+ LastUpdateFullName = FullName ?? "System Administrator",
+ });
+
+ // preload score
+ var score = rec_import.ScoreImport.Scores
+ .Where(s => !string.IsNullOrEmpty(s.ExamId))
+ .ToDictionary(s => s.ExamId, s => s);
+
+ // ถ้าไม่มีผลคะแนนสอบแข่งขันให้จบการทำงาน
+ if (score.Count == 0) return Success();
+
var file = Request.Form.Files[0];
using (var stream = file.OpenReadStream())
using (var c_package = new ExcelPackage(stream))
- {
- var score = rec_import.ScoreImport.Scores
- .Where(s => !string.IsNullOrEmpty(s.ExamId))
- .ToDictionary(s => s.ExamId, s => s);
-
+ {
foreach (var workSheet in c_package.Workbook.Worksheets)
{
var totalRows = workSheet.Dimension.Rows;
@@ -1535,7 +1582,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
row++;
continue;
}
-
+
if (score.TryGetValue(examId, out var existingScore))
{
existingScore.Number = workSheet?.Cells[row, 1]?.GetValue();
@@ -1658,7 +1705,6 @@ namespace BMA.EHR.Recruit.Service.Controllers
majorgroup = dr["majorgroup"].ToString(),
certificateNo = dr["certificateno"].ToString(),
certificateIssueDate = dr["certificateIssueDate"] == null || Convert.ToDateTime(dr["certificateIssueDate"]) == DateTime.MinValue ? "" : Convert.ToDateTime(dr["certificateIssueDate"]).ToThaiShortDate(),
- //ExamScore = dr["score"] == null ? 0 : dr["score"].ToString().ToInteger(),
ExamScore = string.IsNullOrWhiteSpace(dr["score"]?.ToString()) ? 0 : decimal.Parse(dr["score"]?.ToString()),
ExamResult = dr["result"].ToString(),
ExamAttribute = dr["examAttribute"].ToString(),
@@ -1668,6 +1714,7 @@ namespace BMA.EHR.Recruit.Service.Controllers
university = dr["university"].ToString(),
position_name = dr["position_name"].ToString(),
hddPosition = dr["hddPosition"].ToString(),
+ typeTest = dr["typeTest"].ToString(),
position_level = dr["position_level"].ToString(),
position_type = dr["position_type"].ToString(),
exam_name = dr["exam_name"].ToString(),
@@ -1761,12 +1808,22 @@ namespace BMA.EHR.Recruit.Service.Controllers
ProfileID = p.CitizenId,
p.Prefix,
FullName = $"{p.FirstName} {p.LastName}",
- DateOfBirth = p.DateOfBirth.ToThaiShortDate(),
+ DateOfBirth = p.DateOfBirth != null
+ ? p.DateOfBirth != DateTime.MinValue
+ ? p.DateOfBirth.ToThaiShortDate()
+ : ""
+ : "",
Gender = p.Gendor,
Degree = p.Educations.First().Degree,
Major = p.Educations.First().Major,
- CertificateNo = p.Certificates.First().CertificateNo,
- CertificateIssueDate = p.Certificates.First().IssueDate.ToThaiShortDate(),
+ CertificateNo = p.Certificates.Count > 0
+ ? p.Certificates.First().CertificateNo ?? ""
+ : "",
+ CertificateIssueDate = p.Certificates.Count > 0
+ ? p.Certificates.First().IssueDate != DateTime.MinValue
+ ? p.Certificates.First().IssueDate.ToThaiShortDate()
+ : ""
+ : "",
ExamResult = sr == null ? "" : sr.ExamStatus,
ExamAttribute = _recruitService.CheckValidCertificate(p.Certificates.First().IssueDate, 5) ? "มีคุณสมบัติ" : "ไม่มีคุณสมบัติ",
IsSpecial = p.Isspecial,
@@ -1781,17 +1838,26 @@ namespace BMA.EHR.Recruit.Service.Controllers
Score = sr == null ? 0.0 : sr.SumA + sr.SumB + sr.SumC,
Number = sr == null ? "" : sr.Number,
ExamCount = _recruitService.GetExamCount(p.CitizenId),
- ScoreExpire = p.RecruitImport.AnnouncementDate == null ? "" : p.RecruitImport.AnnouncementDate.Value.AddYears(2).ToThaiShortDate(),
+ ScoreExpire = p.RecruitImport.AnnouncementDate == null
+ ? ""
+ : p.RecruitImport.AnnouncementDate != DateTime.MinValue
+ ? p.RecruitImport.AnnouncementDate.Value.AddYears(2).ToThaiShortDate()
+ : "",
+ typeTest = p.typeTest,
ScoreResult = sr == null ? null : new
{
ScoreAFull = sr.FullA,
ScoreA = sr.SumA,
ScoreBFull = sr.FullB,
ScoreB = sr.SumB,
+ ScoreAB = sr.SumAB,
ScoreCFull = sr.FullC,
ScoreC = sr.SumC,
- ScoreSumFull = sr.FullA + sr.FullB + sr.FullC,
- ScoreSum = sr.SumA + sr.SumB + sr.SumC,
+ ScoreDFull = sr.FullD,
+ ScoreD = sr.SumD,
+ ScoreCD = sr.SumCD,
+ ScoreSumFull = sr.FullScore,
+ ScoreSum = sr.TotalScore,
ExamResult = sr.ExamStatus
},
Attachments = p.Documents.Select(a => new
@@ -2113,8 +2179,8 @@ namespace BMA.EHR.Recruit.Service.Controllers
r.ExamId,
r.CitizenId,
Fullname = $"{r.Prefix}{r.FirstName} {r.LastName}",
- Full = s.FullA + s.FullB + s.FullC,
- Sum = s.SumA + s.SumB + s.SumC,
+ Full = s.FullScore != null ? s.FullScore : 0,
+ Sum = s.TotalScore != null ? s.TotalScore : 0,
Status = s.ExamStatus,
r.PositionName,
r.PositionType,
diff --git a/Migrations/20250904045932_add_field_typeTest.Designer.cs b/Migrations/20250904045932_add_field_typeTest.Designer.cs
new file mode 100644
index 0000000..8141336
--- /dev/null
+++ b/Migrations/20250904045932_add_field_typeTest.Designer.cs
@@ -0,0 +1,1601 @@
+//
+using System;
+using BMA.EHR.Recruit.Service.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace BMA.EHR.Recruit.Service.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20250904045932_add_field_typeTest")]
+ partial class add_field_typeTest
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.3")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("BMA.EHR.Recruit.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.Recruit.Service.Models.Recruits.Recruit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("ApplyDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("AuthName")
+ .HasColumnType("longtext");
+
+ b.Property("AuthPosition")
+ .HasColumnType("longtext");
+
+ b.Property("CitizenCardExpireDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("CitizenCardIssuer")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("CitizenId")
+ .IsRequired()
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("เลขประจำตัวประชาชน");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ 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("DateOfBirth")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExamId")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)");
+
+ b.Property("Gendor")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)");
+
+ b.Property("HddPosition")
+ .HasColumnType("longtext")
+ .HasComment("บัญชีสอบ");
+
+ b.Property("Isspecial")
+ .IsRequired()
+ .HasMaxLength(1)
+ .HasColumnType("varchar(1)");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(150)
+ .HasColumnType("varchar(150)");
+
+ 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")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)");
+
+ b.Property("ModifiedDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("National")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("PositionLevel")
+ .HasColumnType("longtext");
+
+ b.Property("PositionName")
+ .HasColumnType("longtext");
+
+ b.Property("PositionType")
+ .HasColumnType("longtext");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ b.Property("Qualified")
+ .IsRequired()
+ .HasMaxLength(1)
+ .HasColumnType("varchar(1)");
+
+ b.Property("Race")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("RecruitImportId")
+ .HasColumnType("char(36)");
+
+ b.Property("RefNo")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)");
+
+ b.Property("Religion")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Remark")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("typeTest")
+ .HasColumnType("longtext")
+ .HasComment("ประเภทการสอบภาค ก.");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitImportId");
+
+ b.ToTable("Recruits");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitAddress", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Address")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Address1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Amphur")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Amphur1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ 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("District")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("District1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ 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("Mobile")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Moo")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Moo1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Province")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Province1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("RecruitId")
+ .HasColumnType("char(36)");
+
+ b.Property("Road")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Road1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Soi")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Soi1")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Telephone")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("ZipCode")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("varchar(5)");
+
+ b.Property("ZipCode1")
+ .IsRequired()
+ .HasMaxLength(5)
+ .HasColumnType("varchar(5)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitId");
+
+ b.ToTable("RecruitAddresses");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitCertificate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CertificateNo")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("varchar(50)");
+
+ 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("Description")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("ExpiredDate")
+ .HasColumnType("datetime(6)");
+
+ b.Property("IssueDate")
+ .HasColumnType("datetime(6)");
+
+ 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("RecruitId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitId");
+
+ b.ToTable("RecruitCertificates");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitDocument", 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("CreatedDate")
+ .HasColumnType("datetime(6)");
+
+ 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("DocumentFileId")
+ .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("RecruitId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DocumentFileId");
+
+ b.HasIndex("RecruitId");
+
+ b.ToTable("RecruitDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitEducation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("BachelorDate")
+ .HasColumnType("datetime(6)");
+
+ 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("Degree")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("GPA")
+ .HasColumnType("double");
+
+ b.Property("HighDegree")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ 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()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("MajorGroupId")
+ .IsRequired()
+ .HasMaxLength(20)
+ .HasColumnType("varchar(20)");
+
+ b.Property("MajorGroupName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("RecruitId")
+ .HasColumnType("char(36)");
+
+ b.Property("Specialist")
+ .IsRequired()
+ .HasMaxLength(1000)
+ .HasColumnType("varchar(1000)");
+
+ b.Property("University")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitId");
+
+ b.ToTable("RecruitEducations");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitImport", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("AnnouncementDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(14)
+ .HasComment("วันที่ประกาศผลสอบ");
+
+ b.Property("AnnouncementEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(7)
+ .HasComment("วันสิ้นสุดประกาศ");
+
+ b.Property("AnnouncementStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(6)
+ .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")
+ .HasColumnOrder(4)
+ .HasComment("รายละเอียด");
+
+ b.Property("ExamDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(12)
+ .HasComment("วันที่สอบ");
+
+ b.Property("Fee")
+ .HasColumnType("int")
+ .HasColumnOrder(5)
+ .HasComment("ค่าธรรมเนียม");
+
+ b.Property("ImportFileId")
+ .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("Name")
+ .IsRequired()
+ .HasMaxLength(250)
+ .HasColumnType("varchar(250)")
+ .HasColumnOrder(2)
+ .HasComment("รอบการสอบ");
+
+ b.Property("Note")
+ .HasColumnType("text")
+ .HasColumnOrder(13)
+ .HasComment("หมายเหตุ");
+
+ b.Property("Order")
+ .HasColumnType("int")
+ .HasColumnOrder(3)
+ .HasComment("ครั้งที่");
+
+ b.Property("PaymentEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(9)
+ .HasComment("วันสิ้นสุดชำระเงิน");
+
+ b.Property("PaymentStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(8)
+ .HasComment("วันเริ่มชำระเงิน");
+
+ b.Property("RegisterEndDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(11)
+ .HasComment("วันสิ้นสุดสมัครสอบ");
+
+ b.Property("RegisterStartDate")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(10)
+ .HasComment("วันเริ่มสมัครสอบ");
+
+ b.Property("Year")
+ .HasColumnType("int")
+ .HasColumnOrder(1)
+ .HasComment("ปีงบประมาณที่จัดสอบ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ImportFileId");
+
+ b.ToTable("RecruitImports");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitImportDocument", 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)")
+ .HasComment("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("RecruitImportId")
+ .HasColumnType("char(36)")
+ .HasComment("Id รอบสมัครสอบ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DocumentId");
+
+ b.HasIndex("RecruitImportId");
+
+ b.ToTable("RecruitImportDocuments");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitImportHistory", 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("Description")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .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("RecruitImportId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitImportId");
+
+ b.ToTable("RecruitImportHistories");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitImportImage", 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)")
+ .HasComment("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("RecruitImportId")
+ .HasColumnType("char(36)")
+ .HasComment("Id รอบสมัครสอบ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DocumentId");
+
+ b.HasIndex("RecruitImportId");
+
+ b.ToTable("RecruitImportImages");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitOccupation", 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("Occupation")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Position")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("RecruitId")
+ .HasColumnType("char(36)");
+
+ b.Property("Telephone")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("WorkAge")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.Property("Workplace")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RecruitId");
+
+ b.ToTable("RecruitOccupations");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Recruit.Service.Models.Recruits.RecruitPayment", b =>
+ {
+ b.Property