diff --git a/Controllers/CMSCandidateController.cs b/Controllers/CMSCandidateController.cs index 8a516c8..0714855 100644 --- a/Controllers/CMSCandidateController.cs +++ b/Controllers/CMSCandidateController.cs @@ -227,6 +227,136 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers } } + /// + /// ข้อมูล home page cms + /// + /// + /// เมื่อทำการข้อมูล home page cms สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("home")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task GetHomePageAsync() + { + // try + // { + var item = await _cmsCandidateService.GetHomePageAsync(); + + return item; + // } + // catch (Exception ex) + // { + // return null; + // } + } + + /// + /// ข้อมูล content home page + /// + /// + /// เมื่อทำการข้อมูล content home page สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("content/home")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task GetHomePageContentAsync() + { + // try + // { + var item = await _cmsCandidateService.GetHomePageContentAsync(); + + return item; + // } + // catch (Exception ex) + // { + // return null; + // } + } + + /// + /// ข้อมูล content about page + /// + /// + /// เมื่อทำการข้อมูล content about page สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("content/about")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task GetAboutPageContentAsync() + { + // try + // { + var item = await _cmsCandidateService.GetAboutPageContentAsync(); + + return item; + // } + // catch (Exception ex) + // { + // return null; + // } + } + + /// + /// List ข้อมูลรอบสมัครสอบ + /// + /// + /// เมื่อทำการ List ข้อมูลรอบสมัครสอบ สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("qualifying")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> GetsCMSExamsAsync(int limit = 0) + { + // try + // { + var items = await _cmsCandidateService.GetsCMSExamsAsync(limit); + + return items; + // } + // catch (Exception ex) + // { + // return null; + // } + } + + /// + /// Get ข้อมูลรอบสมัครสอบ + /// + /// รหัสรอบสมัคร + /// + /// เมื่อทำการ Get ข้อมูลรอบสมัครสอบ สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("qualifying/{examId:length(36)}")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task GetCMSExamsAsync(string examId) + { + // try + // { + var item = await _cmsCandidateService.GetCMSExamsAsync(examId); + + return item; + // } + // catch (Exception ex) + // { + // return null; + // } + } #endregion } } diff --git a/Controllers/CandidateController.cs b/Controllers/CandidateController.cs index 0034db6..8dd386e 100644 --- a/Controllers/CandidateController.cs +++ b/Controllers/CandidateController.cs @@ -53,9 +53,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers { try { - var items = await _candidateService.GetStatusCandidateService(examId, positionId); + var item = await _candidateService.GetStatusCandidateService(examId, positionId); - return Success(GlobalMessages.Success, items); + return Success(item); } catch (Exception ex) { @@ -756,19 +756,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers { try { - var doc = await _candidateService.GetsAsyncProfileImage(examId, positionId); + var path = await _candidateService.GetsAsyncProfileImage(examId, positionId); - if (doc == "") - return Success(); - - var file_data = await _minioService.DownloadFileAsync(Guid.Parse(doc)); - Response.Headers["Content-Disposition"] = $"inline; filename={file_data.FileName}"; - var ret = new FileContentResult(file_data.FileContent, file_data.FileType) - { - FileDownloadName = file_data.FileName - }; - - return ret; + return Success(GlobalMessages.Success, path); } catch (Exception ex) { @@ -829,19 +819,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers { try { - var doc = await _candidateService.GetsAsyncPaymentImg(examId, positionId); + var path = await _candidateService.GetsAsyncPaymentImg(examId, positionId); - if (doc == "") - return Success(); - - var file_data = await _minioService.DownloadFileAsync(Guid.Parse(doc)); - Response.Headers["Content-Disposition"] = $"inline; filename={file_data.FileName}"; - var ret = new FileContentResult(file_data.FileContent, file_data.FileType) - { - FileDownloadName = file_data.FileName - }; - - return ret; + return Success(GlobalMessages.Success, path); } catch (Exception ex) { @@ -865,19 +845,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers { try { - var doc = await _candidateService.GetsAsyncPaymentImgCandidate(candidateId); + var path = await _candidateService.GetsAsyncPaymentImgCandidate(candidateId); - if (doc == "") - return Success(); - - var file_data = await _minioService.DownloadFileAsync(Guid.Parse(doc)); - Response.Headers["Content-Disposition"] = $"inline; filename={file_data.FileName}"; - var ret = new FileContentResult(file_data.FileContent, file_data.FileType) - { - FileDownloadName = file_data.FileName - }; - - return ret; + return Success(GlobalMessages.Success, path); } catch (Exception ex) { @@ -987,15 +957,15 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers /// เมื่อลบเอกสารหลักฐานสำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpDelete("upload/{documentId:length(36)}"), DisableRequestSizeLimit] + [HttpDelete("upload/{examId:length(36)}/{positionId:length(36)}"), DisableRequestSizeLimit] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - public async Task> DeleteFileCandidateService(string documentId) + public async Task> DeleteFileCandidateService(string examId, string positionId, string documentId) { try { - await _candidateService.DeleteAsyncDocument(documentId); + await _candidateService.DeleteAsyncDocument(examId, positionId, documentId); return Success(); } catch (Exception ex) @@ -1061,7 +1031,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers return Error(ex); } } - #endregion } } diff --git a/Controllers/PeriodExamController.cs b/Controllers/PeriodExamController.cs index 98f8dd9..9be3bc7 100644 --- a/Controllers/PeriodExamController.cs +++ b/Controllers/PeriodExamController.cs @@ -20,14 +20,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers #region " Fields " private readonly PeriodExamService _periodExamService; + private readonly MinIOService _minioService; #endregion #region " Constructor and Destructor " - public PeriodExamController(PeriodExamService periodExamService) + public PeriodExamController(PeriodExamService periodExamService, MinIOService minioService) { _periodExamService = periodExamService; + _minioService = minioService; } #endregion @@ -119,7 +121,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers /// เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpPost, DisableRequestSizeLimit] + [HttpPost] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] @@ -127,15 +129,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers { try { - if (Request.Form.Files == null || Request.Form.Files.Count == 0) - { - return Error(GlobalMessages.NoFileToUpload); - } + var items = await _periodExamService.CreateAsync(item); - var files = Request.Form.Files; - await _periodExamService.CreateAsync(item, files); - - return Success(); + return Success(items); } catch (Exception ex) { @@ -152,11 +148,38 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers /// เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpPut("{examId:length(36)}"), DisableRequestSizeLimit] + [HttpPut("{examId:length(36)}")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task> UpdateAsync(string examId, RequestPeriodExam item) + { + try + { + await _periodExamService.UpdateAsync(examId, item); + + return Success(); + } + catch (Exception ex) + { + return Error(ex); + } + } + + /// + /// ข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบ + /// + /// ประเภทเอกสาร + /// รหัสรอบสมัคร + /// + /// เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpPut("{type}/{examId:length(36)}"), DisableRequestSizeLimit] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> UpdateDocAsync(string type, string examId) { try { @@ -166,8 +189,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers } var files = Request.Form.Files; - - await _periodExamService.UpdateAsync(examId, item, files); + if (type == "img") + { + await _periodExamService.UpdateImgAsync(examId, files); + } + else + { + await _periodExamService.UpdateDocAsync(examId, files); + } return Success(); } @@ -463,6 +492,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers } } + /// + /// ข้อมูล เอกสาร ผู้สมัคร + /// + /// รหัสผู้สมัคร + /// + /// เมื่อทำการดึง ข้อมูล เอกสาร ผู้สมัคร สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpGet("document/{candidate:length(36)}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> GetsAsyncDocument(string candidate) + { + try + { + var items = await _periodExamService.GetsAsyncDocument(candidate); + + return Success(items); + } + catch (Exception ex) + { + return Error(ex); + } + } + /// /// อัพเดทข้อมูลที่นั่งสอบ /// @@ -589,6 +644,31 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers return Error(ex); } } + + /// + /// ลบเอกไฟล์ + /// + /// รหัสไฟล์เอกสาร + /// + /// เมื่อลบเอกไฟล์สำเร็จ + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน + [HttpDelete("doc/{examId:length(36)}"), DisableRequestSizeLimit] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> DeleteFileCandidateService(string examId, string documentId) + { + try + { + await _periodExamService.DeleteAsyncDocument(examId, documentId); + return Success(); + } + catch (Exception ex) + { + return Error(ex); + } + } #endregion } } diff --git a/Core/GlobalMessages.cs b/Core/GlobalMessages.cs index 40d627f..c67c8df 100644 --- a/Core/GlobalMessages.cs +++ b/Core/GlobalMessages.cs @@ -21,5 +21,6 @@ public const string RelationshipNotFound = "ไม่พบข้อมูลสถานะภาพ"; public const string ReligionNotFound = "ไม่พบข้อมูลศาสนา"; public const string SubDistrictNotFound = "ไม่พบข้อมูลตำบล/แขวง"; + public const string CMSNotFound = "ไม่พบข้อมูล CMS"; } } diff --git a/Data/ApplicationDbContext.cs b/Data/ApplicationDbContext.cs index 6b8ce59..647a69f 100644 --- a/Data/ApplicationDbContext.cs +++ b/Data/ApplicationDbContext.cs @@ -47,6 +47,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Data public DbSet PeriodExamDocuments { get; set; } + public DbSet PeriodExamImages { get; set; } + public DbSet CMSCandidates { get; set; } public DbSet CMSAgencys { get; set; } diff --git a/Data/Migrations/ApplicationDbContextModelSnapshot.cs b/Data/Migrations/ApplicationDbContextModelSnapshot.cs index aa9e180..1b0cf5c 100644 --- a/Data/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/Data/Migrations/ApplicationDbContextModelSnapshot.cs @@ -232,6 +232,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations b.Property("ProvinceId") .HasColumnType("char(36)"); + b.Property("ShortName") + .HasColumnType("longtext") + .HasComment("ชื่อย่อ"); + b.Property("SubDistrictId") .HasColumnType("char(36)"); @@ -1113,6 +1117,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations .HasColumnType("longtext") .HasComment("รายละเอียดสมัครสอบ"); + b.Property("ExamDate") + .HasColumnType("datetime(6)") + .HasComment("วันที่สอบ"); + b.Property("Fee") .HasColumnType("float") .HasComment("ค่าธรรมเนียม"); @@ -1271,6 +1279,68 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations b.ToTable("PeriodExamDocuments"); }); + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamImage", 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("PeriodExamImages"); + }); + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b => { b.Property("Id") @@ -1926,6 +1996,25 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations b.Navigation("PeriodExam"); }); + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamImage", 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("PeriodExamImages") + .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") @@ -1966,6 +2055,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations b.Navigation("PeriodExamDocuments"); + b.Navigation("PeriodExamImages"); + b.Navigation("PositionExam"); }); diff --git a/Migrations/20230408123727_Add table image exam.Designer.cs b/Migrations/20230408123727_Add table image exam.Designer.cs new file mode 100644 index 0000000..d7282e6 --- /dev/null +++ b/Migrations/20230408123727_Add table image exam.Designer.cs @@ -0,0 +1,2063 @@ +// +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("20230408123727_Add table image exam")] + partial class Addtableimageexam + { + /// + 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.CMSAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("About") + .HasColumnType("longtext") + .HasComment("ข้อมูลเกี่ยวกับเรา"); + + b.Property("Address") + .HasColumnType("longtext") + .HasComment("ที่อยู่"); + + b.Property("BannerImgId") + .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("Description") + .HasColumnType("longtext") + .HasComment("ข้อมูลเว็บโดยย่อ"); + + b.Property("DistrictId") + .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("LogoImgId") + .HasColumnType("char(36)"); + + b.Property("NameEn") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาอังกฤษ"); + + b.Property("NameTh") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาไทย"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("Telephone") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("โทรศัพท์"); + + b.Property("ZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("รหัสไปรษณีย์"); + + b.HasKey("Id"); + + b.HasIndex("BannerImgId"); + + b.HasIndex("DistrictId"); + + b.HasIndex("LogoImgId"); + + b.HasIndex("ProvinceId"); + + b.HasIndex("SubDistrictId"); + + b.ToTable("CMSCandidates"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSGovernments"); + }); + + 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.PeriodExamImage", 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("PeriodExamImages"); + }); + + 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.CMSAgency", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSAgencys") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "BannerImg") + .WithMany() + .HasForeignKey("BannerImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District") + .WithMany() + .HasForeignKey("DistrictId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "LogoImg") + .WithMany() + .HasForeignKey("LogoImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province") + .WithMany() + .HasForeignKey("ProvinceId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "SubDistrict") + .WithMany() + .HasForeignKey("SubDistrictId"); + + b.Navigation("BannerImg"); + + b.Navigation("District"); + + b.Navigation("LogoImg"); + + b.Navigation("Province"); + + b.Navigation("SubDistrict"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSGovernments") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + 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.PeriodExamImage", 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() + .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.CMSCandidate", b => + { + b.Navigation("CMSAgencys"); + + b.Navigation("CMSGovernments"); + }); + + 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/20230408123727_Add table image exam.cs b/Migrations/20230408123727_Add table image exam.cs new file mode 100644 index 0000000..98e8898 --- /dev/null +++ b/Migrations/20230408123727_Add table image exam.cs @@ -0,0 +1,68 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Recurit.Exam.Service.Migrations +{ + /// + public partial class Addtableimageexam : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "PeriodExamImages", + 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(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล") + .Annotation("MySql:CharSet", "utf8mb4"), + LastUpdateFullName = table.Column(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด") + .Annotation("MySql:CharSet", "utf8mb4"), + PeriodExamId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + DocumentId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") + }, + constraints: table => + { + table.PrimaryKey("PK_PeriodExamImages", x => x.Id); + table.ForeignKey( + name: "FK_PeriodExamImages_Documents_DocumentId", + column: x => x.DocumentId, + principalTable: "Documents", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_PeriodExamImages_PeriodExams_PeriodExamId", + column: x => x.PeriodExamId, + principalTable: "PeriodExams", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateIndex( + name: "IX_PeriodExamImages_DocumentId", + table: "PeriodExamImages", + column: "DocumentId"); + + migrationBuilder.CreateIndex( + name: "IX_PeriodExamImages_PeriodExamId", + table: "PeriodExamImages", + column: "PeriodExamId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "PeriodExamImages"); + } + } +} diff --git a/Migrations/20230408125350_update table cms add shortname.Designer.cs b/Migrations/20230408125350_update table cms add shortname.Designer.cs new file mode 100644 index 0000000..b6e2fdf --- /dev/null +++ b/Migrations/20230408125350_update table cms add shortname.Designer.cs @@ -0,0 +1,2069 @@ +// +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("20230408125350_update table cms add shortname")] + partial class updatetablecmsaddshortname + { + /// + 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.CMSAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("About") + .HasColumnType("longtext") + .HasComment("ข้อมูลเกี่ยวกับเรา"); + + b.Property("Address") + .HasColumnType("longtext") + .HasComment("ที่อยู่"); + + b.Property("BannerImgId") + .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("Description") + .HasColumnType("longtext") + .HasComment("ข้อมูลเว็บโดยย่อ"); + + b.Property("DistrictId") + .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("LogoImgId") + .HasColumnType("char(36)"); + + b.Property("NameEn") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาอังกฤษ"); + + b.Property("NameTh") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาไทย"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("ShortName") + .HasColumnType("longtext") + .HasComment("ชื่อย่อ"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("Telephone") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("โทรศัพท์"); + + b.Property("ZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("รหัสไปรษณีย์"); + + b.HasKey("Id"); + + b.HasIndex("BannerImgId"); + + b.HasIndex("DistrictId"); + + b.HasIndex("LogoImgId"); + + b.HasIndex("ProvinceId"); + + b.HasIndex("SubDistrictId"); + + b.ToTable("CMSCandidates"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSGovernments"); + }); + + 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.PeriodExamImage", 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("PeriodExamImages"); + }); + + 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.CMSAgency", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSAgencys") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "BannerImg") + .WithMany() + .HasForeignKey("BannerImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District") + .WithMany() + .HasForeignKey("DistrictId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "LogoImg") + .WithMany() + .HasForeignKey("LogoImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province") + .WithMany() + .HasForeignKey("ProvinceId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "SubDistrict") + .WithMany() + .HasForeignKey("SubDistrictId"); + + b.Navigation("BannerImg"); + + b.Navigation("District"); + + b.Navigation("LogoImg"); + + b.Navigation("Province"); + + b.Navigation("SubDistrict"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSGovernments") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + 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.PeriodExamImage", 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("PeriodExamImages") + .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.CMSCandidate", b => + { + b.Navigation("CMSAgencys"); + + b.Navigation("CMSGovernments"); + }); + + 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("PeriodExamImages"); + + 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/20230408125350_update table cms add shortname.cs b/Migrations/20230408125350_update table cms add shortname.cs new file mode 100644 index 0000000..b8d85c9 --- /dev/null +++ b/Migrations/20230408125350_update table cms add shortname.cs @@ -0,0 +1,30 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Recurit.Exam.Service.Migrations +{ + /// + public partial class updatetablecmsaddshortname : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "ShortName", + table: "CMSCandidates", + type: "longtext", + nullable: true, + comment: "ชื่อย่อ") + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "ShortName", + table: "CMSCandidates"); + } + } +} diff --git a/Migrations/20230408154951_update table exam add examdate.Designer.cs b/Migrations/20230408154951_update table exam add examdate.Designer.cs new file mode 100644 index 0000000..e4a07c9 --- /dev/null +++ b/Migrations/20230408154951_update table exam add examdate.Designer.cs @@ -0,0 +1,2073 @@ +// +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("20230408154951_update table exam add examdate")] + partial class updatetableexamaddexamdate + { + /// + 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.CMSAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("About") + .HasColumnType("longtext") + .HasComment("ข้อมูลเกี่ยวกับเรา"); + + b.Property("Address") + .HasColumnType("longtext") + .HasComment("ที่อยู่"); + + b.Property("BannerImgId") + .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("Description") + .HasColumnType("longtext") + .HasComment("ข้อมูลเว็บโดยย่อ"); + + b.Property("DistrictId") + .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("LogoImgId") + .HasColumnType("char(36)"); + + b.Property("NameEn") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาอังกฤษ"); + + b.Property("NameTh") + .HasColumnType("longtext") + .HasComment("ชื่อเว็บภาษาไทย"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("ShortName") + .HasColumnType("longtext") + .HasComment("ชื่อย่อ"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("Telephone") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("โทรศัพท์"); + + b.Property("ZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("รหัสไปรษณีย์"); + + b.HasKey("Id"); + + b.HasIndex("BannerImgId"); + + b.HasIndex("DistrictId"); + + b.HasIndex("LogoImgId"); + + b.HasIndex("ProvinceId"); + + b.HasIndex("SubDistrictId"); + + b.ToTable("CMSCandidates"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CMSCandidateId") + .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("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("Link") + .HasColumnType("longtext") + .HasComment("ลิงค์"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("ชื่อลิงค์"); + + b.HasKey("Id"); + + b.HasIndex("CMSCandidateId"); + + b.ToTable("CMSGovernments"); + }); + + 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("ExamDate") + .HasColumnType("datetime(6)") + .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.PeriodExamImage", 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("PeriodExamImages"); + }); + + 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.CMSAgency", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSAgencys") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "BannerImg") + .WithMany() + .HasForeignKey("BannerImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District") + .WithMany() + .HasForeignKey("DistrictId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "LogoImg") + .WithMany() + .HasForeignKey("LogoImgId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province") + .WithMany() + .HasForeignKey("ProvinceId"); + + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "SubDistrict") + .WithMany() + .HasForeignKey("SubDistrictId"); + + b.Navigation("BannerImg"); + + b.Navigation("District"); + + b.Navigation("LogoImg"); + + b.Navigation("Province"); + + b.Navigation("SubDistrict"); + }); + + modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSGovernment", b => + { + b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", "CMSCandidate") + .WithMany("CMSGovernments") + .HasForeignKey("CMSCandidateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CMSCandidate"); + }); + + 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.PeriodExamImage", 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("PeriodExamImages") + .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.CMSCandidate", b => + { + b.Navigation("CMSAgencys"); + + b.Navigation("CMSGovernments"); + }); + + 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("PeriodExamImages"); + + 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/20230408154951_update table exam add examdate.cs b/Migrations/20230408154951_update table exam add examdate.cs new file mode 100644 index 0000000..28855e2 --- /dev/null +++ b/Migrations/20230408154951_update table exam add examdate.cs @@ -0,0 +1,31 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Recurit.Exam.Service.Migrations +{ + /// + public partial class updatetableexamaddexamdate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "ExamDate", + table: "PeriodExams", + type: "datetime(6)", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + comment: "วันที่สอบ"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "ExamDate", + table: "PeriodExams"); + } + } +} diff --git a/Models/CMSCandidate.cs b/Models/CMSCandidate.cs index 33cfd34..2d884b9 100644 --- a/Models/CMSCandidate.cs +++ b/Models/CMSCandidate.cs @@ -18,6 +18,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Models [Comment("ชื่อเว็บภาษาไทย")] public string? NameTh { get; set; } + [Comment("ชื่อย่อ")] + public string? ShortName { get; set; } + [Comment("ชื่อเว็บภาษาอังกฤษ")] public string? NameEn { get; set; } diff --git a/Models/PeriodExam.cs b/Models/PeriodExam.cs index f43ccce..b97e312 100644 --- a/Models/PeriodExam.cs +++ b/Models/PeriodExam.cs @@ -42,6 +42,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Models [Required, Column(Order = 6), Comment("วันสิ้นสุดประกาศ")] public DateTime AnnouncementEndDate { get; set; } = DateTime.Now.Date; + [Required, Comment("วันที่สอบ")] + public DateTime ExamDate { get; set; } = DateTime.Now.Date; + [Comment("Id รหัสส่วนราชการ")] public Guid? OrganizationCodeId { get; set; } @@ -80,5 +83,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Models [Comment("เอกสารอื่นๆ")] public virtual List PeriodExamDocuments { get; set; } = new(); + + [Comment("รูป")] + public virtual List PeriodExamImages { get; set; } = new(); } } diff --git a/Models/PeriodExamImage.cs b/Models/PeriodExamImage.cs new file mode 100644 index 0000000..42c4824 --- /dev/null +++ b/Models/PeriodExamImage.cs @@ -0,0 +1,15 @@ +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using BMA.EHR.Recurit.Exam.Service.Models.Documents; + +namespace BMA.EHR.Recurit.Exam.Service.Models +{ + public class PeriodExamImage : EntityBase + { + [Required, Comment("Id รอบสมัครสอบ")] + public virtual PeriodExam? PeriodExam { get; set; } + [Required, Comment("Id ไฟล์รูป")] + public virtual Document? Document { get; set; } + } +} diff --git a/Request/RequestCMSAbout.cs b/Request/RequestCMSAbout.cs index 43c0e4d..e62dcf7 100644 --- a/Request/RequestCMSAbout.cs +++ b/Request/RequestCMSAbout.cs @@ -9,6 +9,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request public string? ProfileImg { get; set; } // public Models.Document? ProfileImgId { get; set; } public string? NameTh { get; set; } + public string? ShortName { get; set; } public string? NameEn { get; set; } public string? Description { get; set; } public string? About { get; set; } diff --git a/Request/RequestCMSDetail.cs b/Request/RequestCMSDetail.cs index 1ed9f03..5b50ee2 100644 --- a/Request/RequestCMSDetail.cs +++ b/Request/RequestCMSDetail.cs @@ -5,6 +5,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request public class RequestCMSDetail { public string? NameTh { get; set; } + public string? ShortName { get; set; } public string? NameEn { get; set; } public string? Description { get; set; } } diff --git a/Request/RequestPeriodExam.cs b/Request/RequestPeriodExam.cs index 057fa4d..6821438 100644 --- a/Request/RequestPeriodExam.cs +++ b/Request/RequestPeriodExam.cs @@ -16,6 +16,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request public DateTime PaymentEndDate { get; set; } = DateTime.Now.Date; public DateTime AnnouncementStartDate { get; set; } = DateTime.Now.Date; public DateTime AnnouncementEndDate { get; set; } = DateTime.Now.Date; + public DateTime ExamDate { get; set; } = DateTime.Now.Date; public Guid? OrganizationCodeId { get; set; } public string? OrganizationCodeName { get; set; } public Guid? OrganizationId { get; set; } @@ -23,6 +24,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Request public string? PaymentKrungThai { get; set; } public string? Detail { get; set; } public string? Note { get; set; } + public List? Doc { get; set; } + public List? Image { get; set; } public List BankExam { get; set; } = new(); public List PositionExam { get; set; } = new(); } diff --git a/Response/AboutPageContentResponseItem.cs b/Response/AboutPageContentResponseItem.cs new file mode 100644 index 0000000..1daeb40 --- /dev/null +++ b/Response/AboutPageContentResponseItem.cs @@ -0,0 +1,10 @@ + +using BMA.EHR.Recurit.Exam.Service.Responses.Document; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class AboutPageContentResponseItem + { + public string? Content { get; set; } + } +} diff --git a/Response/CMSExamResponseItem.cs b/Response/CMSExamResponseItem.cs new file mode 100644 index 0000000..4504a03 --- /dev/null +++ b/Response/CMSExamResponseItem.cs @@ -0,0 +1,22 @@ + +using BMA.EHR.Recurit.Exam.Service.Responses.Document; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class CMSExamResponseItem + { + public string? Id { get; set; } + public string? Category { get; set; } + public string? Category_id { get; set; } + public DateTime? Start { get; set; } + public DateTime? End { get; set; } + public DateTime? Exam_date { get; set; } + public DateTime? Announcement_date { get; set; } + public string? Title { get; set; } + public string? Detail { get; set; } + public string? Image { get; set; } + public List? Images { get; set; } + public List? Files { get; set; } + public List? Positions { get; set; } + } +} diff --git a/Response/CandidateInformationResponseItem.cs b/Response/CandidateInformationResponseItem.cs index 61ed50e..d23c13e 100644 --- a/Response/CandidateInformationResponseItem.cs +++ b/Response/CandidateInformationResponseItem.cs @@ -21,5 +21,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Response public string? Telephone { get; set; } public string? MobilePhone { get; set; } public string? Knowledge { get; set; } + public string? ProfileImg { get; set; } } } diff --git a/Response/CandidateStatusResponse.cs b/Response/CandidateStatusResponse.cs new file mode 100644 index 0000000..bd0b746 --- /dev/null +++ b/Response/CandidateStatusResponse.cs @@ -0,0 +1,11 @@ +using System.Net; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class CandidateStatusResponse + { + public string? Status { get; set; } + + public string? RejectDetail { get; set; } + } +} diff --git a/Response/Document/FileListResponse.cs b/Response/Document/FileListResponse.cs index 5c243a7..f7d129c 100644 --- a/Response/Document/FileListResponse.cs +++ b/Response/Document/FileListResponse.cs @@ -9,5 +9,7 @@ public string? FileType { get; set; } = string.Empty; public int? FileSize { get; set; } + + public string? Detail { get; set; } } } diff --git a/Response/HomePageContentResponseItem.cs b/Response/HomePageContentResponseItem.cs new file mode 100644 index 0000000..db01dc4 --- /dev/null +++ b/Response/HomePageContentResponseItem.cs @@ -0,0 +1,11 @@ + +using BMA.EHR.Recurit.Exam.Service.Responses.Document; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class HomePageContentResponseItem + { + public string? Content { get; set; } + public string? Image { get; set; } + } +} diff --git a/Response/HomePageResponseItem.cs b/Response/HomePageResponseItem.cs new file mode 100644 index 0000000..f97dfda --- /dev/null +++ b/Response/HomePageResponseItem.cs @@ -0,0 +1,22 @@ + +using BMA.EHR.Recurit.Exam.Service.Responses.Document; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class HomePageResponseItem + { + public string? Logo_url { get; set; } + public string? Title { get; set; } + public string? Subtitle { get; set; } + public string? Supervised { get; set; } + public string? Telephone { get; set; } + public string? Address { get; set; } + public List? Divisions { get; set; } + public List? Institutes { get; set; } + } + public class HomePageLinkResponseItem + { + public string? Title { get; set; } + public string? Url { get; set; } + } +} diff --git a/Response/PaymentImgResponse.cs b/Response/PaymentImgResponse.cs new file mode 100644 index 0000000..14c621b --- /dev/null +++ b/Response/PaymentImgResponse.cs @@ -0,0 +1,11 @@ +using System.Net; + +namespace BMA.EHR.Recurit.Exam.Service.Response +{ + public class PaymentImgResponse + { + public string? PaymentImg { get; set; } + + public string? RejectDetail { get; set; } + } +} diff --git a/Response/PeriodExamCandidateResponseItem.cs b/Response/PeriodExamCandidateResponseItem.cs index 7088aba..ef14c76 100644 --- a/Response/PeriodExamCandidateResponseItem.cs +++ b/Response/PeriodExamCandidateResponseItem.cs @@ -18,6 +18,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Response public DateTime PaymentEndDate { get; set; } public DateTime AnnouncementStartDate { get; set; } public DateTime AnnouncementEndDate { get; set; } + public DateTime ExamDate { get; set; } public Guid? OrganizationCodeId { get; set; } public string? OrganizationCodeName { get; set; } public Guid? OrganizationId { get; set; } @@ -31,5 +32,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Response public List PositionExam { get; set; } = new List(); public List BankExam { get; set; } = new List(); public List Documents { get; set; } = new List(); + public List Images { get; set; } = new List(); } } diff --git a/Services/CMSCandidateService.cs b/Services/CMSCandidateService.cs index d95648a..3b3cea8 100644 --- a/Services/CMSCandidateService.cs +++ b/Services/CMSCandidateService.cs @@ -49,6 +49,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services public async Task GetsAsync() { var cms = await createCMS(); + + if (cms.LogoImg != null) + cms.LogoImg.Detail = _minioService.ImagesPath(cms.LogoImg.Id).Result; + + if (cms.BannerImg != null) + cms.BannerImg.Detail = _minioService.ImagesPath(cms.BannerImg.Id).Result; + return cms; } @@ -82,6 +89,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services var cms = await createCMS(); cms.NameTh = updated.NameTh; + cms.ShortName = updated.ShortName; cms.NameEn = updated.NameEn; cms.Description = updated.Description; cms.LastUpdatedAt = DateTime.Now; @@ -129,9 +137,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services cms.ZipCode = subDistrict.ZipCode; } - cms.NameTh = updated.About; - cms.NameEn = updated.Address; - cms.Description = updated.Telephone; + cms.About = updated.About; + cms.Address = updated.Address; + cms.Telephone = updated.Telephone; cms.LastUpdatedAt = DateTime.Now; cms.LastUpdateUserId = UserId ?? ""; cms.LastUpdateFullName = FullName ?? ""; @@ -231,6 +239,168 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.SaveChangesAsync(); } + public async Task GetHomePageAsync() + { + var cms = await createCMS(); + + var cmsCandidates = await _context.CMSCandidates.AsQueryable() + .Select(x => new HomePageResponseItem + { + Logo_url = x.LogoImg == null ? "" : x.LogoImg.Id.ToString(), + Title = x.NameTh, + Subtitle = x.NameEn, + Supervised = x.ShortName, + Telephone = x.Telephone, + Address = x.Address + " " + (x.SubDistrict == null ? "" : "แขวง" + x.SubDistrict.Name + " ") + (x.District == null ? "" : "เขต" + x.District.Name) + " " + (x.Province == null ? "" : x.Province.Name) + " " + (x.SubDistrict == null ? "" : x.SubDistrict.ZipCode), + Divisions = x.CMSAgencys.Select(s => new HomePageLinkResponseItem + { + Title = s.Name, + Url = s.Link, + }).ToList(), + Institutes = x.CMSGovernments.Select(s => new HomePageLinkResponseItem + { + Title = s.Name, + Url = s.Link, + }).ToList(), + }) + .FirstOrDefaultAsync(); + + if (cmsCandidates == null) + throw new Exception(GlobalMessages.CMSNotFound); + + if (cmsCandidates.Logo_url != null && cmsCandidates.Logo_url != "") + cmsCandidates.Logo_url = _minioService.ImagesPath(Guid.Parse(cmsCandidates.Logo_url)).Result; + + return cmsCandidates; + } + + public async Task GetHomePageContentAsync() + { + var cms = await createCMS(); + + var cmsCandidates = await _context.CMSCandidates.AsQueryable() + .Select(x => new HomePageContentResponseItem + { + Content = x.Description, + Image = x.BannerImg == null ? "" : x.BannerImg.Id.ToString(), + }) + .FirstOrDefaultAsync(); + + if (cmsCandidates == null) + throw new Exception(GlobalMessages.CMSNotFound); + + if (cmsCandidates.Image != null && cmsCandidates.Image != "") + cmsCandidates.Image = _minioService.ImagesPath(Guid.Parse(cmsCandidates.Image)).Result; + + return cmsCandidates; + } + + public async Task GetAboutPageContentAsync() + { + var cms = await createCMS(); + + var cmsCandidates = await _context.CMSCandidates.AsQueryable() + .Select(x => new AboutPageContentResponseItem + { + Content = x.About, + }) + .FirstOrDefaultAsync(); + + if (cmsCandidates == null) + throw new Exception(GlobalMessages.CMSNotFound); + + return cmsCandidates; + } + + public async Task> GetsCMSExamsAsync(int limit) + { + var cms = await createCMS(); + + var periodExams = await _context.PeriodExams.AsQueryable() + .Where(x => x.AnnouncementStartDate <= DateTime.Now) + .Where(x => x.AnnouncementEndDate >= DateTime.Now) + .Include(x => x.PeriodExamImages) + .Select(x => new CMSExamResponseItem + { + Id = x.Id.ToString(), + Category = "doctor", + Category_id = "doctor", + Start = x.ExamDate, + End = x.ExamDate, + Exam_date = x.ExamDate, + Announcement_date = x.AnnouncementStartDate, + Title = x.Name, + Image = x.PeriodExamImages.OrderBy(o => o.CreatedAt).FirstOrDefault() == null ? + "" : + x.PeriodExamImages.OrderBy(o => o.CreatedAt).FirstOrDefault().Document.Id.ToString(), + }) + .ToListAsync(); + if (limit > 0) + periodExams = periodExams.Take(limit).ToList(); + + var i = 0; + foreach (var item in periodExams) + { + if (periodExams[i].Image != null && periodExams[i].Image != "") + periodExams[i].Image = _minioService.ImagesPath(Guid.Parse(periodExams[i].Image)).Result; + i++; + } + + return periodExams; + } + + public async Task GetCMSExamsAsync(string examId) + { + var cms = await createCMS(); + + var periodExam = await _context.PeriodExams.AsQueryable() + .Where(x => x.Id == Guid.Parse(examId)) + .Include(x => x.PeriodExamImages) + .Select(x => new CMSExamResponseItem + { + Id = x.Id.ToString(), + Category = "doctor", + Category_id = "doctor", + Start = x.ExamDate, + Title = x.Name, + Detail = x.Detail, + Images = x.PeriodExamImages.Select(s => new HomePageLinkResponseItem + { + Title = s.Document.FileName, + Url = s.Document.Id.ToString(), + }).ToList(), + Files = x.PeriodExamDocuments.Select(s => new HomePageLinkResponseItem + { + Title = s.Document.FileName, + Url = s.Document.Id.ToString(), + }).ToList(), + Positions = x.PositionExam.Select(s => new HomePageLinkResponseItem + { + Title = s.Id.ToString(), + Url = $"{x.Id}/{s.Id}", + }).ToList(), + }) + .FirstOrDefaultAsync(); + + if (periodExam == null) + throw new Exception(GlobalMessages.ExamNotFound); + + var i = 0; + foreach (var item in periodExam.Images) + { + if (periodExam.Images[i].Url != null && periodExam.Images[i].Url != "") + periodExam.Images[i].Url = _minioService.ImagesPath(Guid.Parse(periodExam.Images[i].Url)).Result; + i++; + } + i = 0; + foreach (var item in periodExam.Files) + { + if (periodExam.Files[i].Url != null && periodExam.Files[i].Url != "") + periodExam.Files[i].Url = _minioService.ImagesPath(Guid.Parse(periodExam.Files[i].Url)).Result; + i++; + } + return periodExam; + } #endregion } } diff --git a/Services/CandidateService.cs b/Services/CandidateService.cs index 7189c38..a4db168 100644 --- a/Services/CandidateService.cs +++ b/Services/CandidateService.cs @@ -414,7 +414,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate == null) throw new Exception(GlobalMessages.CandidateNotFound); - return await _context.CandidateDocuments.AsQueryable() + var document = await _context.CandidateDocuments.AsQueryable() .Where(x => x.Candidate == candidate) .Select(x => new FileListResponse { @@ -422,8 +422,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Services FileName = x.Document == null ? "" : x.Document.FileName, FileType = x.Document == null ? "" : x.Document.FileType, FileSize = x.Document == null ? 0 : x.Document.FileSize, + Detail = x.Document == null ? "" : x.Document.Id.ToString(), }) .ToListAsync(); + + var i = 0; + foreach (var item in document) + { + if (document[i].Detail != null && document[i].Detail != "") + document[i].Detail = _minioService.ImagesPath(Guid.Parse(document[i].Detail)).Result; + i++; + } + + return document; } public async Task GetsAsyncProfileImage(string examId, string positionId) @@ -456,10 +467,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate == null) throw new Exception(GlobalMessages.CandidateNotFound); - return candidate.ProfileImg == null ? "" : candidate.ProfileImg.Id.ToString(); + if (candidate.ProfileImg != null) + candidate.ProfileImg.Detail = _minioService.ImagesPath(candidate.ProfileImg.Id).Result; + + return candidate.ProfileImg == null ? "" : candidate.ProfileImg.Detail; } - public async Task GetsAsyncPaymentImg(string examId, string positionId) + public async Task GetsAsyncPaymentImg(string examId, string positionId) { var exam = await _context.PeriodExams.AsQueryable() .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); @@ -489,7 +503,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate == null) throw new Exception(GlobalMessages.CandidateNotFound); - return candidate.PaymentImg == null ? "" : candidate.PaymentImg.Id.ToString(); + if (candidate.PaymentImg != null) + candidate.PaymentImg.Detail = _minioService.ImagesPath(candidate.PaymentImg.Id).Result; + + return new PaymentImgResponse { PaymentImg = candidate.PaymentImg == null ? "" : candidate.PaymentImg.Detail, RejectDetail = candidate.RejectDetail }; } public async Task GetsAsyncPaymentImgCandidate(string candidateId) @@ -502,7 +519,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate == null) throw new Exception(GlobalMessages.CandidateNotFound); - return candidate.PaymentImg == null ? "" : candidate.PaymentImg.Id.ToString(); + if (candidate.PaymentImg != null) + candidate.PaymentImg.Detail = _minioService.ImagesPath(candidate.PaymentImg.Id).Result; + + return candidate.PaymentImg == null ? "" : candidate.PaymentImg.Detail.ToString(); } public async Task GetsAsyncRegisterExam(string examId, string positionId) @@ -873,7 +893,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate.ProfileImg != null) { - await DeleteAsyncDocument(candidate.ProfileImg.Id.ToString()); + await DeleteDocument(candidate.ProfileImg.Id.ToString()); } var doc = await _minioService.UploadFileAsync(file); @@ -1078,11 +1098,28 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.SaveChangesAsync(); } - public async Task DeleteAsyncDocument(string documentId) + public async Task DeleteDocument(string documentId) { await _minioService.DeleteFileAsync(Guid.Parse(documentId)); } + public async Task DeleteAsyncDocument(string examId, string positionId, string documentId) + { + var exam = await _context.PeriodExams.AsQueryable() + .Include(x => x.PositionExam) + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); + + if (exam == null) + throw new Exception(GlobalMessages.ExamNotFound); + + var position = exam.PositionExam.Where(x => x.Id == Guid.Parse(positionId)).FirstOrDefault(); + + if (position == null) + throw new Exception(GlobalMessages.PositionExamNotFound); + + await _minioService.DeleteFileAsync(Guid.Parse(documentId)); + } + public async Task CreateAsyncCareer(string examId, string positionId, CandidateCareerResponseItem updated) { var candidateId = await CreateAsyncCandidate(examId, positionId); @@ -1219,7 +1256,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.SaveChangesAsync(); } - public async Task GetStatusCandidateService(string examId, string positionId) + public async Task GetStatusCandidateService(string examId, string positionId) { var exam = await _context.PeriodExams.AsQueryable() .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); @@ -1245,7 +1282,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate == null) throw new Exception(GlobalMessages.CandidateNotFound); - return candidate.Status; + return new CandidateStatusResponse { Status = candidate.Status, RejectDetail = candidate.RejectDetail }; } public async Task UserCheckCandidateService(string examId, string positionId, string status) @@ -1358,7 +1395,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services if (candidate.PaymentImg != null) { - await DeleteAsyncDocument(candidate.PaymentImg.Id.ToString()); + await DeleteDocument(candidate.PaymentImg.Id.ToString()); } var doc = await _minioService.UploadFileAsync(file); diff --git a/Services/MinIOService.cs b/Services/MinIOService.cs index 4930205..224f458 100644 --- a/Services/MinIOService.cs +++ b/Services/MinIOService.cs @@ -46,6 +46,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Services this._bucketName = _configuration["MinIO:BucketName"] ?? "bma-recruit"; } + public static IConfigurationRoot Configuration + { + get + { + return new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json") + .Build(); + } + } + #endregion #region " Methods " @@ -185,6 +196,34 @@ namespace BMA.EHR.Recurit.Exam.Service.Services } } + public async Task ImagesPath(Guid fileId) + { + if (fileId == null) + return ""; + + var doc = await _context.Documents.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == fileId); + + if (doc == null) + throw new Exception(GlobalMessages.FileNotFoundOnServer); + var config = new AmazonS3Config + { + ServiceURL = Configuration.GetValue("MinIO:Endpoint"), + ForcePathStyle = true + }; + + DateTime expires = DateTime.UtcNow.AddHours(6); + GetPreSignedUrlRequest request = new GetPreSignedUrlRequest + { + BucketName = _bucketName, + Key = doc?.ObjectRefId.ToString("D"), + Expires = expires, + }; + string path = _s3Client.GetPreSignedURL(request); + + return path; + } + #endregion } } \ No newline at end of file diff --git a/Services/PeriodExamService.cs b/Services/PeriodExamService.cs index 6e0ccf7..529ae32 100644 --- a/Services/PeriodExamService.cs +++ b/Services/PeriodExamService.cs @@ -49,12 +49,46 @@ namespace BMA.EHR.Recurit.Exam.Service.Services public async Task> GetsAsync(bool showAll = true) { return await _context.PeriodExams.AsQueryable() - .Include(x => x.PositionExam) - .Include(x => x.BankExam) .Where(p => p.IsActive) .OrderBy(d => d.Name) .Select(x => new PeriodExamCandidateResponseItem { + ExamDate = x.ExamDate, + AnnouncementEndDate = x.AnnouncementEndDate, + AnnouncementStartDate = x.AnnouncementStartDate, + CheckDisability = x.CheckDisability, + CheckDocument = x.CheckDocument, + Detail = x.Detail, + Fee = x.Fee, + Id = x.Id, + IsActive = x.IsActive, + Name = x.Name, + Note = x.Note, + OrganizationCodeId = x.OrganizationCodeId, + OrganizationCodeName = x.OrganizationCodeName, + OrganizationId = x.OrganizationId, + OrganizationName = x.OrganizationName, + PaymentEndDate = x.PaymentEndDate, + PaymentKrungThai = x.PaymentKrungThai, + PaymentStartDate = x.PaymentStartDate, + RegisterEndDate = x.RegisterEndDate, + RegisterStartDate = x.RegisterStartDate, + Round = x.Round, + SetSeat = x.SetSeat, + Year = x.Year, + }) + .ToListAsync(); + } + + public async Task GetsExamAndCandidateAsync(string examId, bool showAll = true) + { + var periodExam = await _context.PeriodExams.AsQueryable() + .Include(x => x.PositionExam) + .Include(x => x.BankExam) + .Include(x => x.PeriodExamDocuments) + .Select(x => new PeriodExamCandidateResponseItem + { + ExamDate = x.ExamDate, AnnouncementEndDate = x.AnnouncementEndDate, AnnouncementStartDate = x.AnnouncementStartDate, CheckDisability = x.CheckDisability, @@ -98,19 +132,37 @@ namespace BMA.EHR.Recurit.Exam.Service.Services FileName = b.Document == null ? "" : b.Document.FileName, FileSize = b.Document == null ? 0 : b.Document.FileSize, FileType = b.Document == null ? "" : b.Document.FileType, + Detail = b.Document == null ? "" : b.Document.Id.ToString(), + }).ToList(), + Images = x.PeriodExamImages.OrderBy(o => o.CreatedAt).Select(b => new FileListResponse + { + Id = b.Document == null ? "" : b.Document.Id.ToString(), + FileName = b.Document == null ? "" : b.Document.FileName, + FileSize = b.Document == null ? 0 : b.Document.FileSize, + FileType = b.Document == null ? "" : b.Document.FileType, + Detail = b.Document == null ? "" : b.Document.Id.ToString(), }).ToList(), }) - .ToListAsync(); - } - - public async Task GetsExamAndCandidateAsync(string examId, bool showAll = true) - { - var periodExam = await _context.PeriodExams.AsQueryable() .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); if (periodExam == null) throw new Exception(GlobalMessages.ExamNotFound); + var i = 0; + foreach (var item in periodExam.Images) + { + if (periodExam.Images[i].Detail != null && periodExam.Images[i].Detail != "") + periodExam.Images[i].Detail = _minioService.ImagesPath(Guid.Parse(periodExam.Images[i].Detail)).Result; + i++; + } + i = 0; + foreach (var item in periodExam.Documents) + { + if (periodExam.Documents[i].Detail != null && periodExam.Documents[i].Detail != "") + periodExam.Documents[i].Detail = _minioService.ImagesPath(Guid.Parse(periodExam.Documents[i].Detail)).Result; + i++; + } + return periodExam; } @@ -157,7 +209,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services } } - public async Task CreateAsync(RequestPeriodExam inserted, IFormFileCollection files) + public async Task CreateAsync(RequestPeriodExam inserted) { var periodExam = new PeriodExam { @@ -172,6 +224,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services PaymentStartDate = inserted.PaymentStartDate, PaymentEndDate = inserted.PaymentEndDate, AnnouncementStartDate = inserted.AnnouncementStartDate, + ExamDate = inserted.ExamDate, AnnouncementEndDate = inserted.AnnouncementEndDate, OrganizationCodeId = inserted.OrganizationCodeId, OrganizationCodeName = inserted.OrganizationCodeName, @@ -225,35 +278,18 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.PositionExams.AddAsync(positionExam); } - foreach (var file in files) - { - var doc = await _minioService.UploadFileAsync(file); - - var document = await _context.Documents.AsQueryable() - .FirstOrDefaultAsync(x => x.Id == doc.Id); - - if (document == null) - throw new Exception(GlobalMessages.NoFileToUpload); - - var periodExamDocument = new PeriodExamDocument - { - PeriodExam = periodExam, - Document = document, - }; - - await _context.PeriodExamDocuments.AddAsync(periodExamDocument); - } - await _context.PeriodExams.AddAsync(periodExam); - await _context.SaveChangesAsync(); + + return periodExam.Id; } - public async Task UpdateAsync(string examId, RequestPeriodExam updated, IFormFileCollection files) + public async Task UpdateAsync(string examId, RequestPeriodExam updated) { var periodExam = await _context.PeriodExams.AsQueryable() .Include(x => x.BankExam) .Include(x => x.PositionExam) + .Include(x => x.Candidate) .Include(x => x.PeriodExamDocuments) .ThenInclude(x => x.Document) .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); @@ -272,6 +308,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services periodExam.PaymentStartDate = updated.PaymentStartDate; periodExam.PaymentEndDate = updated.PaymentEndDate; periodExam.AnnouncementStartDate = updated.AnnouncementStartDate; + periodExam.ExamDate = updated.ExamDate; periodExam.AnnouncementEndDate = updated.AnnouncementEndDate; periodExam.OrganizationCodeId = updated.OrganizationCodeId; periodExam.OrganizationCodeName = updated.OrganizationCodeName; @@ -284,20 +321,54 @@ namespace BMA.EHR.Recurit.Exam.Service.Services periodExam.LastUpdateUserId = UserId ?? ""; periodExam.LastUpdateFullName = FullName ?? ""; - foreach (var bank in periodExam.BankExam) + if (updated.PaymentKrungThai != "payment2") { - var bankData = updated.BankExam - .FirstOrDefault(x => x.Id == bank.Id); - if (bankData != null) + foreach (var bank in periodExam.BankExam) { - bank.AccountName = bankData.AccountName; - bank.AccountNumber = bankData.AccountNumber; - bank.BankName = bankData.BankName; - bank.LastUpdatedAt = DateTime.Now; - bank.LastUpdateUserId = UserId ?? ""; - bank.LastUpdateFullName = FullName ?? ""; + var bankData = updated.BankExam + .FirstOrDefault(x => x.Id == bank.Id); + if (bankData != null) + { + bank.AccountName = bankData.AccountName; + bank.AccountNumber = bankData.AccountNumber; + bank.BankName = bankData.BankName; + bank.LastUpdatedAt = DateTime.Now; + bank.LastUpdateUserId = UserId ?? ""; + bank.LastUpdateFullName = FullName ?? ""; + } + else + { + var bankDelete = await _context.BankExams.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == bank.Id); + + if (bankDelete != null) + _context.BankExams.Remove(bankDelete); + } } - else + var bankAdd = updated.BankExam + .Where(x => x.Id == Guid.Parse("00000000-0000-0000-0000-000000000000")) + .ToList(); + foreach (var bank in bankAdd) + { + var bankExam = new BankExam + { + PeriodExam = periodExam, + AccountName = bank.AccountName, + AccountNumber = bank.AccountNumber, + BankName = bank.BankName, + CreatedAt = DateTime.Now, + CreatedUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + LastUpdateUserId = UserId ?? "", + CreatedFullName = FullName ?? "", + LastUpdateFullName = FullName ?? "", + }; + await _context.BankExams.AddAsync(bankExam); + } + } + else + { + foreach (var bank in periodExam.BankExam) { var bankDelete = await _context.BankExams.AsQueryable() .FirstOrDefaultAsync(x => x.Id == bank.Id); @@ -327,31 +398,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services .FirstOrDefaultAsync(x => x.Id == position.Id); if (positionDelete != null) + { + if (periodExam.Candidate.Count() > 0) + throw new Exception("รอบนี้มีการสมัครแล้วไม่สามารถลบตำแหน่งได้"); _context.PositionExams.Remove(positionDelete); + } } } - var bankAdd = updated.BankExam - .Where(x => x.Id == Guid.Parse("00000000-0000-0000-0000-000000000000")) - .ToList(); - foreach (var bank in bankAdd) - { - var bankExam = new BankExam - { - PeriodExam = periodExam, - AccountName = bank.AccountName, - AccountNumber = bank.AccountNumber, - BankName = bank.BankName, - CreatedAt = DateTime.Now, - CreatedUserId = UserId ?? "", - LastUpdatedAt = DateTime.Now, - LastUpdateUserId = UserId ?? "", - CreatedFullName = FullName ?? "", - LastUpdateFullName = FullName ?? "", - }; - await _context.BankExams.AddAsync(bankExam); - } - var positionAdd = updated.PositionExam .Where(x => x.Id == Guid.Parse("00000000-0000-0000-0000-000000000000")) .ToList(); @@ -374,13 +428,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.PositionExams.AddAsync(positionExam); } - foreach (var doc in periodExam.PeriodExamDocuments) - { - if (doc.Id != null) - { - await DeleteAsyncDocument(doc.Id.ToString()); - } - } + await _context.SaveChangesAsync(); + } + + public async Task UpdateDocAsync(string examId, IFormFileCollection files) + { + var periodExam = await _context.PeriodExams.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); + + if (periodExam == null) + throw new Exception(GlobalMessages.ExamNotFound); foreach (var file in files) { @@ -404,8 +461,50 @@ namespace BMA.EHR.Recurit.Exam.Service.Services await _context.SaveChangesAsync(); } - public async Task DeleteAsyncDocument(string documentId) + public async Task UpdateImgAsync(string examId, IFormFileCollection files) { + var periodExam = await _context.PeriodExams.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); + + if (periodExam == null) + throw new Exception(GlobalMessages.ExamNotFound); + + foreach (var file in files) + { + var doc = await _minioService.UploadFileAsync(file); + + var document = await _context.Documents.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == doc.Id); + + if (document == null) + throw new Exception(GlobalMessages.NoFileToUpload); + + var periodExamImage = new PeriodExamImage + { + PeriodExam = periodExam, + Document = document, + }; + + await _context.PeriodExamImages.AddAsync(periodExamImage); + } + + await _context.SaveChangesAsync(); + } + + public async Task DeleteDocument(string documentId) + { + await _minioService.DeleteFileAsync(Guid.Parse(documentId)); + } + + public async Task DeleteAsyncDocument(string examId, string documentId) + { + var exam = await _context.PeriodExams.AsQueryable() + .Include(x => x.PositionExam) + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); + + if (exam == null) + throw new Exception(GlobalMessages.ExamNotFound); + await _minioService.DeleteFileAsync(Guid.Parse(documentId)); } @@ -445,7 +544,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services public async Task GetsAsyncInformation(string candidateId) { - return await _context.Candidates.AsQueryable() + var candidate = await _context.Candidates.AsQueryable() .Where(x => x.Id == Guid.Parse(candidateId)) .Select(x => new CandidateInformationResponseItem { @@ -467,8 +566,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Services Telephone = x.Telephone, MobilePhone = x.MobilePhone, Knowledge = x.Knowledge, + ProfileImg = x.ProfileImg == null ? "" : x.ProfileImg.Id.ToString(), }) .FirstOrDefaultAsync(); + + if (candidate == null) + return candidate; + + if (candidate.ProfileImg != null && candidate.ProfileImg != "") + candidate.ProfileImg = _minioService.ImagesPath(Guid.Parse(candidate.ProfileImg)).Result; + + return candidate; } public async Task GetsAsyncOccupation(string candidateId) @@ -560,6 +668,37 @@ namespace BMA.EHR.Recurit.Exam.Service.Services .ToListAsync(); } + public async Task> GetsAsyncDocument(string candidateId) + { + var candidate = await _context.Candidates.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId)); + + if (candidate == null) + throw new Exception(GlobalMessages.CandidateNotFound); + + var document = await _context.CandidateDocuments.AsQueryable() + .Where(x => x.Candidate == candidate) + .Select(x => new FileListResponse + { + Id = x.Document == null ? "" : x.Document.Id.ToString(), + FileName = x.Document == null ? "" : x.Document.FileName, + FileType = x.Document == null ? "" : x.Document.FileType, + FileSize = x.Document == null ? 0 : x.Document.FileSize, + Detail = x.Document == null ? "" : x.Document.Id.ToString(), + }) + .ToListAsync(); + + var i = 0; + foreach (var item in document) + { + if (document[i].Detail != null && document[i].Detail != "") + document[i].Detail = _minioService.ImagesPath(Guid.Parse(document[i].Detail)).Result; + i++; + } + + return document; + } + private async Task> ReadExcelCandidate(IFormFile formFile) { var list = new List(); @@ -726,16 +865,22 @@ namespace BMA.EHR.Recurit.Exam.Service.Services return stream; } - public async Task> GetsPaymentExamAsync(string examId) + public async Task GetsPaymentExamAsync(string examId) { var periodExam = await _context.PeriodExams.AsQueryable() .Include(x => x.BankExam) - .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId)); + .Where(x => x.Id == Guid.Parse(examId)) + .Select(x => new PeriodExam + { + BankExam = x.BankExam, + Fee = x.Fee, + }) + .FirstOrDefaultAsync(); if (periodExam == null) throw new Exception(GlobalMessages.ExamNotFound); - return periodExam.BankExam; + return periodExam; } #endregion } diff --git a/obj/Debug/net7.0/project.razor.json b/obj/Debug/net7.0/project.razor.json index 06ef174..b6d04a5 100644 --- a/obj/Debug/net7.0/project.razor.json +++ b/obj/Debug/net7.0/project.razor.json @@ -13,7 +13,7 @@ "ProjectWorkspaceState": { "TagHelpers": [ { - "HashCode": -1618633327, + "HashCode": -1047432892, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -97,7 +97,7 @@ } }, { - "HashCode": 397678827, + "HashCode": 1172184819, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -182,7 +182,7 @@ } }, { - "HashCode": -1711384443, + "HashCode": -160293161, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.NotAuthorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -215,7 +215,7 @@ } }, { - "HashCode": -54446384, + "HashCode": -386414481, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.NotAuthorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -249,7 +249,7 @@ } }, { - "HashCode": 870025175, + "HashCode": -499580791, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Authorizing", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -270,7 +270,7 @@ } }, { - "HashCode": 656199069, + "HashCode": 2046465581, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Authorizing", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -292,7 +292,7 @@ } }, { - "HashCode": -1266523522, + "HashCode": 1532355526, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -397,7 +397,7 @@ } }, { - "HashCode": 211955458, + "HashCode": -15084024, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -503,7 +503,7 @@ } }, { - "HashCode": -204349297, + "HashCode": 88065485, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -536,7 +536,7 @@ } }, { - "HashCode": 1689010743, + "HashCode": 1411781179, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -570,7 +570,7 @@ } }, { - "HashCode": -17807721, + "HashCode": -485843877, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.NotAuthorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -603,7 +603,7 @@ } }, { - "HashCode": 1456243951, + "HashCode": 1498966838, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.NotAuthorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -637,7 +637,7 @@ } }, { - "HashCode": 1650947830, + "HashCode": 929220275, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Authorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -670,7 +670,7 @@ } }, { - "HashCode": 226076606, + "HashCode": 1488944263, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Authorized", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -704,7 +704,7 @@ } }, { - "HashCode": 2037663714, + "HashCode": -328678622, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Authorizing", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -725,7 +725,7 @@ } }, { - "HashCode": 678176427, + "HashCode": -491712494, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Authorizing", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -747,7 +747,7 @@ } }, { - "HashCode": 1874183689, + "HashCode": 1836627393, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -778,7 +778,7 @@ } }, { - "HashCode": 1150974869, + "HashCode": 686263839, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -810,7 +810,7 @@ } }, { - "HashCode": -857045968, + "HashCode": 755350685, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -831,7 +831,7 @@ } }, { - "HashCode": 850475087, + "HashCode": 1387801543, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Authorization", @@ -853,7 +853,7 @@ } }, { - "HashCode": 644037093, + "HashCode": -412353905, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.CascadingValue", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -928,7 +928,7 @@ } }, { - "HashCode": -1270590114, + "HashCode": 1857902947, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.CascadingValue", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1004,7 +1004,7 @@ } }, { - "HashCode": -864191908, + "HashCode": 1169697458, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1025,7 +1025,7 @@ } }, { - "HashCode": 1546308205, + "HashCode": -1211806418, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.CascadingValue.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1047,7 +1047,7 @@ } }, { - "HashCode": -2126426814, + "HashCode": -1036123396, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.DynamicComponent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1089,7 +1089,7 @@ } }, { - "HashCode": -2043911161, + "HashCode": 706420455, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.DynamicComponent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1132,7 +1132,7 @@ } }, { - "HashCode": 528519389, + "HashCode": 245238194, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.LayoutView", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1174,7 +1174,7 @@ } }, { - "HashCode": -664449820, + "HashCode": -107235380, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.LayoutView", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1217,7 +1217,7 @@ } }, { - "HashCode": 977093122, + "HashCode": -1147759750, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1238,7 +1238,7 @@ } }, { - "HashCode": 1700624585, + "HashCode": 1234844159, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.LayoutView.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1260,7 +1260,7 @@ } }, { - "HashCode": 926854599, + "HashCode": 1348181316, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.RouteView", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1302,7 +1302,7 @@ } }, { - "HashCode": -800432656, + "HashCode": 149243376, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.RouteView", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1345,7 +1345,7 @@ } }, { - "HashCode": -624546933, + "HashCode": -2074644011, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.Router", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1453,7 +1453,7 @@ } }, { - "HashCode": 1163279839, + "HashCode": -1804055719, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.Router", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1562,7 +1562,7 @@ } }, { - "HashCode": -506279482, + "HashCode": 1736387009, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1583,7 +1583,7 @@ } }, { - "HashCode": -1905242632, + "HashCode": -461516483, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.NotFound", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1605,7 +1605,7 @@ } }, { - "HashCode": 1909848535, + "HashCode": -1704664135, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1638,7 +1638,7 @@ } }, { - "HashCode": -1503944918, + "HashCode": 844945134, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.Found", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1672,7 +1672,7 @@ } }, { - "HashCode": 296149924, + "HashCode": -933349376, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1693,7 +1693,7 @@ } }, { - "HashCode": 1721162116, + "HashCode": 1274217004, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.Router.Navigating", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -1715,7 +1715,7 @@ } }, { - "HashCode": 2138884834, + "HashCode": 785047821, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator", "AssemblyName": "Microsoft.AspNetCore.Components.Forms", @@ -1734,7 +1734,7 @@ } }, { - "HashCode": -1726141312, + "HashCode": 1095471889, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.DataAnnotationsValidator", "AssemblyName": "Microsoft.AspNetCore.Components.Forms", @@ -1754,7 +1754,7 @@ } }, { - "HashCode": 617303784, + "HashCode": -1020117449, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.EditForm", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -1859,7 +1859,7 @@ } }, { - "HashCode": -226639366, + "HashCode": -1564065935, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.EditForm", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -1965,7 +1965,7 @@ } }, { - "HashCode": 251671449, + "HashCode": 874348983, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -1998,7 +1998,7 @@ } }, { - "HashCode": -802482929, + "HashCode": -1856610874, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.EditForm.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2032,7 +2032,7 @@ } }, { - "HashCode": -1732439571, + "HashCode": 461514447, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2104,7 +2104,7 @@ } }, { - "HashCode": -1178412920, + "HashCode": 43390022, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2177,7 +2177,7 @@ } }, { - "HashCode": 1584431875, + "HashCode": 409268803, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2285,7 +2285,7 @@ } }, { - "HashCode": -1939308158, + "HashCode": 1333548951, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2394,7 +2394,7 @@ } }, { - "HashCode": -1938633324, + "HashCode": -1995131205, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputFile", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2436,7 +2436,7 @@ } }, { - "HashCode": -58148343, + "HashCode": -296858556, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputFile", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2479,7 +2479,7 @@ } }, { - "HashCode": 1608802304, + "HashCode": 1373883285, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2576,7 +2576,7 @@ } }, { - "HashCode": -106532415, + "HashCode": -1038319311, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2674,7 +2674,7 @@ } }, { - "HashCode": 1780186474, + "HashCode": 17343887, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2738,7 +2738,7 @@ } }, { - "HashCode": 1160881632, + "HashCode": 349786503, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadio", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2803,7 +2803,7 @@ } }, { - "HashCode": -1867655573, + "HashCode": -142729346, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -2911,7 +2911,7 @@ } }, { - "HashCode": -322364741, + "HashCode": 395895512, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3020,7 +3020,7 @@ } }, { - "HashCode": -1940860039, + "HashCode": 366644673, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3041,7 +3041,7 @@ } }, { - "HashCode": 540867841, + "HashCode": 1562320817, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3063,7 +3063,7 @@ } }, { - "HashCode": -106769615, + "HashCode": -526002525, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3161,7 +3161,7 @@ } }, { - "HashCode": 967346459, + "HashCode": 596226236, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3260,7 +3260,7 @@ } }, { - "HashCode": 1802080065, + "HashCode": -1165689685, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3281,7 +3281,7 @@ } }, { - "HashCode": 603053343, + "HashCode": 305360101, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3303,7 +3303,7 @@ } }, { - "HashCode": 18350627, + "HashCode": 547893179, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputText", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3375,7 +3375,7 @@ } }, { - "HashCode": 1951476813, + "HashCode": 2006555677, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputText", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3448,7 +3448,7 @@ } }, { - "HashCode": -1714748305, + "HashCode": -296108332, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3520,7 +3520,7 @@ } }, { - "HashCode": -892911069, + "HashCode": -530657898, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3593,7 +3593,7 @@ } }, { - "HashCode": 1722726632, + "HashCode": -970843783, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3647,7 +3647,7 @@ } }, { - "HashCode": 2116052064, + "HashCode": -499646614, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.ValidationMessage", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3702,7 +3702,7 @@ } }, { - "HashCode": 216731725, + "HashCode": 1332145389, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3743,7 +3743,7 @@ } }, { - "HashCode": -1897589113, + "HashCode": -715707202, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Forms.ValidationSummary", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3785,7 +3785,7 @@ } }, { - "HashCode": -153240425, + "HashCode": -1356075523, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3826,7 +3826,7 @@ } }, { - "HashCode": 451809259, + "HashCode": -2113959453, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.FocusOnNavigate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3868,7 +3868,7 @@ } }, { - "HashCode": 163476057, + "HashCode": -895099167, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.NavigationLock", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3910,7 +3910,7 @@ } }, { - "HashCode": 525262583, + "HashCode": 826847275, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.NavigationLock", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -3953,7 +3953,7 @@ } }, { - "HashCode": -597732918, + "HashCode": 971043909, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.NavLink", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4016,7 +4016,7 @@ } }, { - "HashCode": 1987426080, + "HashCode": -2143154956, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Routing.NavLink", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4080,7 +4080,7 @@ } }, { - "HashCode": -97500612, + "HashCode": -1204455991, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4101,7 +4101,7 @@ } }, { - "HashCode": -508698693, + "HashCode": -757827883, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Routing.NavLink.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4123,7 +4123,7 @@ } }, { - "HashCode": -1191337557, + "HashCode": -2106879795, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.HeadContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4155,7 +4155,7 @@ } }, { - "HashCode": -1367431732, + "HashCode": 1647861301, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.HeadContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4188,7 +4188,7 @@ } }, { - "HashCode": -1202764706, + "HashCode": -669297226, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4209,7 +4209,7 @@ } }, { - "HashCode": -245254574, + "HashCode": -923237595, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.HeadContent.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4231,7 +4231,7 @@ } }, { - "HashCode": 53407710, + "HashCode": -1877985, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.HeadOutlet", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4250,7 +4250,7 @@ } }, { - "HashCode": 1592823281, + "HashCode": 2133923583, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.HeadOutlet", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4270,7 +4270,7 @@ } }, { - "HashCode": -27413047, + "HashCode": 1641135501, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.PageTitle", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4302,7 +4302,7 @@ } }, { - "HashCode": -2052089393, + "HashCode": -443588437, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.PageTitle", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4335,7 +4335,7 @@ } }, { - "HashCode": -1599533257, + "HashCode": -151186178, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4356,7 +4356,7 @@ } }, { - "HashCode": -1832304242, + "HashCode": 1485723816, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.PageTitle.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4378,7 +4378,7 @@ } }, { - "HashCode": 1103093872, + "HashCode": -2023242460, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4441,7 +4441,7 @@ } }, { - "HashCode": 1227910967, + "HashCode": -940553075, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4505,7 +4505,7 @@ } }, { - "HashCode": -1244184447, + "HashCode": -1393135326, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4526,7 +4526,7 @@ } }, { - "HashCode": 1355231872, + "HashCode": 1514648084, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4548,7 +4548,7 @@ } }, { - "HashCode": 300746010, + "HashCode": -2048602247, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4581,7 +4581,7 @@ } }, { - "HashCode": 1510426369, + "HashCode": -1429836084, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.ErrorBoundary.ErrorContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4615,7 +4615,7 @@ } }, { - "HashCode": -656536749, + "HashCode": -1799449475, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4747,7 +4747,7 @@ } }, { - "HashCode": 1748903725, + "HashCode": -415995466, "Kind": "Components.Component", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4880,7 +4880,7 @@ } }, { - "HashCode": -471100990, + "HashCode": 990913487, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4913,7 +4913,7 @@ } }, { - "HashCode": -1425500081, + "HashCode": 1142456651, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ChildContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4947,7 +4947,7 @@ } }, { - "HashCode": 1984403513, + "HashCode": 958453434, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -4980,7 +4980,7 @@ } }, { - "HashCode": 377714681, + "HashCode": -1436915014, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.ItemContent", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -5014,7 +5014,7 @@ } }, { - "HashCode": 1728198104, + "HashCode": 1681403945, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -5047,7 +5047,7 @@ } }, { - "HashCode": 25998782, + "HashCode": -1217496573, "Kind": "Components.ChildContent", "Name": "Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize.Placeholder", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -5081,7 +5081,7 @@ } }, { - "HashCode": 591806183, + "HashCode": 1629966260, "Kind": "Components.EventHandler", "Name": "onfocus", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5164,7 +5164,7 @@ } }, { - "HashCode": -1045042076, + "HashCode": 276410069, "Kind": "Components.EventHandler", "Name": "onblur", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5247,7 +5247,7 @@ } }, { - "HashCode": 1226743369, + "HashCode": 1070440328, "Kind": "Components.EventHandler", "Name": "onfocusin", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5330,7 +5330,7 @@ } }, { - "HashCode": 474124252, + "HashCode": -1695268400, "Kind": "Components.EventHandler", "Name": "onfocusout", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5413,7 +5413,7 @@ } }, { - "HashCode": 1781919460, + "HashCode": -1055556528, "Kind": "Components.EventHandler", "Name": "onmouseover", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5496,7 +5496,7 @@ } }, { - "HashCode": 2100933448, + "HashCode": -1277889838, "Kind": "Components.EventHandler", "Name": "onmouseout", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5579,7 +5579,7 @@ } }, { - "HashCode": -560044169, + "HashCode": 1080597777, "Kind": "Components.EventHandler", "Name": "onmouseleave", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5662,7 +5662,7 @@ } }, { - "HashCode": -1563982657, + "HashCode": 1340082908, "Kind": "Components.EventHandler", "Name": "onmouseenter", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5745,7 +5745,7 @@ } }, { - "HashCode": -408838314, + "HashCode": 1747431695, "Kind": "Components.EventHandler", "Name": "onmousemove", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5828,7 +5828,7 @@ } }, { - "HashCode": -1684584726, + "HashCode": 523492373, "Kind": "Components.EventHandler", "Name": "onmousedown", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5911,7 +5911,7 @@ } }, { - "HashCode": 1140020419, + "HashCode": -1734173444, "Kind": "Components.EventHandler", "Name": "onmouseup", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -5994,7 +5994,7 @@ } }, { - "HashCode": -1556483903, + "HashCode": 1669009187, "Kind": "Components.EventHandler", "Name": "onclick", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6077,7 +6077,7 @@ } }, { - "HashCode": 1380269784, + "HashCode": -1656231279, "Kind": "Components.EventHandler", "Name": "ondblclick", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6160,7 +6160,7 @@ } }, { - "HashCode": 1230627557, + "HashCode": 1985472491, "Kind": "Components.EventHandler", "Name": "onwheel", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6243,7 +6243,7 @@ } }, { - "HashCode": 452553749, + "HashCode": 1170256607, "Kind": "Components.EventHandler", "Name": "onmousewheel", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6326,7 +6326,7 @@ } }, { - "HashCode": 1444166515, + "HashCode": 443504407, "Kind": "Components.EventHandler", "Name": "oncontextmenu", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6409,7 +6409,7 @@ } }, { - "HashCode": -524909692, + "HashCode": -1105635036, "Kind": "Components.EventHandler", "Name": "ondrag", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6492,7 +6492,7 @@ } }, { - "HashCode": 1678779789, + "HashCode": -922163715, "Kind": "Components.EventHandler", "Name": "ondragend", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6575,7 +6575,7 @@ } }, { - "HashCode": -1164374857, + "HashCode": -2124410928, "Kind": "Components.EventHandler", "Name": "ondragenter", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6658,7 +6658,7 @@ } }, { - "HashCode": 1491279272, + "HashCode": -1342210000, "Kind": "Components.EventHandler", "Name": "ondragleave", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6741,7 +6741,7 @@ } }, { - "HashCode": 1927557257, + "HashCode": -1193824049, "Kind": "Components.EventHandler", "Name": "ondragover", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6824,7 +6824,7 @@ } }, { - "HashCode": 1343856467, + "HashCode": 125550324, "Kind": "Components.EventHandler", "Name": "ondragstart", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6907,7 +6907,7 @@ } }, { - "HashCode": -566164809, + "HashCode": -1802147520, "Kind": "Components.EventHandler", "Name": "ondrop", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -6990,7 +6990,7 @@ } }, { - "HashCode": 1315618147, + "HashCode": -1365933171, "Kind": "Components.EventHandler", "Name": "onkeydown", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7073,7 +7073,7 @@ } }, { - "HashCode": -431522310, + "HashCode": 1260359605, "Kind": "Components.EventHandler", "Name": "onkeyup", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7156,7 +7156,7 @@ } }, { - "HashCode": -138317870, + "HashCode": 1128921277, "Kind": "Components.EventHandler", "Name": "onkeypress", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7239,7 +7239,7 @@ } }, { - "HashCode": 1343832660, + "HashCode": 1179828684, "Kind": "Components.EventHandler", "Name": "onchange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7322,7 +7322,7 @@ } }, { - "HashCode": 1208294319, + "HashCode": -1590482261, "Kind": "Components.EventHandler", "Name": "oninput", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7405,7 +7405,7 @@ } }, { - "HashCode": 1042255466, + "HashCode": -1936380802, "Kind": "Components.EventHandler", "Name": "oninvalid", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7488,7 +7488,7 @@ } }, { - "HashCode": 1349766273, + "HashCode": -1205980278, "Kind": "Components.EventHandler", "Name": "onreset", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7571,7 +7571,7 @@ } }, { - "HashCode": 436948699, + "HashCode": -1841112071, "Kind": "Components.EventHandler", "Name": "onselect", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7654,7 +7654,7 @@ } }, { - "HashCode": -1616364443, + "HashCode": -341113129, "Kind": "Components.EventHandler", "Name": "onselectstart", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7737,7 +7737,7 @@ } }, { - "HashCode": 1469600388, + "HashCode": -1268255058, "Kind": "Components.EventHandler", "Name": "onselectionchange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7820,7 +7820,7 @@ } }, { - "HashCode": -1426145126, + "HashCode": -1681530239, "Kind": "Components.EventHandler", "Name": "onsubmit", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7903,7 +7903,7 @@ } }, { - "HashCode": 82295944, + "HashCode": 1160420227, "Kind": "Components.EventHandler", "Name": "onbeforecopy", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -7986,7 +7986,7 @@ } }, { - "HashCode": -1519092575, + "HashCode": -640293095, "Kind": "Components.EventHandler", "Name": "onbeforecut", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8069,7 +8069,7 @@ } }, { - "HashCode": -235513189, + "HashCode": 560845863, "Kind": "Components.EventHandler", "Name": "onbeforepaste", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8152,7 +8152,7 @@ } }, { - "HashCode": 1763091805, + "HashCode": 1507641371, "Kind": "Components.EventHandler", "Name": "oncopy", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8235,7 +8235,7 @@ } }, { - "HashCode": -1060219006, + "HashCode": -1544727959, "Kind": "Components.EventHandler", "Name": "oncut", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8318,7 +8318,7 @@ } }, { - "HashCode": 859725354, + "HashCode": -1299683346, "Kind": "Components.EventHandler", "Name": "onpaste", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8401,7 +8401,7 @@ } }, { - "HashCode": 1671496806, + "HashCode": -1653527697, "Kind": "Components.EventHandler", "Name": "ontouchcancel", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8484,7 +8484,7 @@ } }, { - "HashCode": 556505489, + "HashCode": 1334177721, "Kind": "Components.EventHandler", "Name": "ontouchend", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8567,7 +8567,7 @@ } }, { - "HashCode": -2138034570, + "HashCode": 1418058451, "Kind": "Components.EventHandler", "Name": "ontouchmove", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8650,7 +8650,7 @@ } }, { - "HashCode": -857888044, + "HashCode": -519924015, "Kind": "Components.EventHandler", "Name": "ontouchstart", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8733,7 +8733,7 @@ } }, { - "HashCode": -981698441, + "HashCode": -662112884, "Kind": "Components.EventHandler", "Name": "ontouchenter", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8816,7 +8816,7 @@ } }, { - "HashCode": -472421196, + "HashCode": 1917341246, "Kind": "Components.EventHandler", "Name": "ontouchleave", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8899,7 +8899,7 @@ } }, { - "HashCode": -41761181, + "HashCode": 1515260673, "Kind": "Components.EventHandler", "Name": "ongotpointercapture", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -8982,7 +8982,7 @@ } }, { - "HashCode": -781451151, + "HashCode": 1726779906, "Kind": "Components.EventHandler", "Name": "onlostpointercapture", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9065,7 +9065,7 @@ } }, { - "HashCode": -316221569, + "HashCode": -432574767, "Kind": "Components.EventHandler", "Name": "onpointercancel", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9148,7 +9148,7 @@ } }, { - "HashCode": 1027728377, + "HashCode": 1782394193, "Kind": "Components.EventHandler", "Name": "onpointerdown", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9231,7 +9231,7 @@ } }, { - "HashCode": -591151342, + "HashCode": -1739802511, "Kind": "Components.EventHandler", "Name": "onpointerenter", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9314,7 +9314,7 @@ } }, { - "HashCode": 1675688116, + "HashCode": 2005891958, "Kind": "Components.EventHandler", "Name": "onpointerleave", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9397,7 +9397,7 @@ } }, { - "HashCode": 1550357541, + "HashCode": 1267219185, "Kind": "Components.EventHandler", "Name": "onpointermove", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9480,7 +9480,7 @@ } }, { - "HashCode": 332218995, + "HashCode": 1622493736, "Kind": "Components.EventHandler", "Name": "onpointerout", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9563,7 +9563,7 @@ } }, { - "HashCode": 1512132124, + "HashCode": 598148265, "Kind": "Components.EventHandler", "Name": "onpointerover", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9646,7 +9646,7 @@ } }, { - "HashCode": 1054238748, + "HashCode": -1495315026, "Kind": "Components.EventHandler", "Name": "onpointerup", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9729,7 +9729,7 @@ } }, { - "HashCode": -1548707371, + "HashCode": 1196650531, "Kind": "Components.EventHandler", "Name": "oncanplay", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9812,7 +9812,7 @@ } }, { - "HashCode": -305682065, + "HashCode": 596644463, "Kind": "Components.EventHandler", "Name": "oncanplaythrough", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9895,7 +9895,7 @@ } }, { - "HashCode": 482090987, + "HashCode": 637837169, "Kind": "Components.EventHandler", "Name": "oncuechange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -9978,7 +9978,7 @@ } }, { - "HashCode": 1339566519, + "HashCode": 1118742192, "Kind": "Components.EventHandler", "Name": "ondurationchange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10061,7 +10061,7 @@ } }, { - "HashCode": -2023644546, + "HashCode": -1831274893, "Kind": "Components.EventHandler", "Name": "onemptied", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10144,7 +10144,7 @@ } }, { - "HashCode": 1050613001, + "HashCode": -884327907, "Kind": "Components.EventHandler", "Name": "onpause", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10227,7 +10227,7 @@ } }, { - "HashCode": -153577016, + "HashCode": -438780038, "Kind": "Components.EventHandler", "Name": "onplay", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10310,7 +10310,7 @@ } }, { - "HashCode": -1611466549, + "HashCode": -1108589323, "Kind": "Components.EventHandler", "Name": "onplaying", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10393,7 +10393,7 @@ } }, { - "HashCode": 417748927, + "HashCode": -1502145493, "Kind": "Components.EventHandler", "Name": "onratechange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10476,7 +10476,7 @@ } }, { - "HashCode": -863803202, + "HashCode": -1437629850, "Kind": "Components.EventHandler", "Name": "onseeked", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10559,7 +10559,7 @@ } }, { - "HashCode": 961714315, + "HashCode": 385509815, "Kind": "Components.EventHandler", "Name": "onseeking", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10642,7 +10642,7 @@ } }, { - "HashCode": -1514305545, + "HashCode": -1697656558, "Kind": "Components.EventHandler", "Name": "onstalled", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10725,7 +10725,7 @@ } }, { - "HashCode": -195362921, + "HashCode": -1025180481, "Kind": "Components.EventHandler", "Name": "onstop", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10808,7 +10808,7 @@ } }, { - "HashCode": 1996644499, + "HashCode": -283492180, "Kind": "Components.EventHandler", "Name": "onsuspend", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10891,7 +10891,7 @@ } }, { - "HashCode": 1329320386, + "HashCode": -1401371656, "Kind": "Components.EventHandler", "Name": "ontimeupdate", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -10974,7 +10974,7 @@ } }, { - "HashCode": 815873735, + "HashCode": 2143008856, "Kind": "Components.EventHandler", "Name": "onvolumechange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11057,7 +11057,7 @@ } }, { - "HashCode": 751543572, + "HashCode": 1489703252, "Kind": "Components.EventHandler", "Name": "onwaiting", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11140,7 +11140,7 @@ } }, { - "HashCode": 1469096918, + "HashCode": 40753544, "Kind": "Components.EventHandler", "Name": "onloadstart", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11223,7 +11223,7 @@ } }, { - "HashCode": 935132672, + "HashCode": 683855030, "Kind": "Components.EventHandler", "Name": "ontimeout", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11306,7 +11306,7 @@ } }, { - "HashCode": 1470046185, + "HashCode": 1840733219, "Kind": "Components.EventHandler", "Name": "onabort", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11389,7 +11389,7 @@ } }, { - "HashCode": 842075949, + "HashCode": -28444552, "Kind": "Components.EventHandler", "Name": "onload", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11472,7 +11472,7 @@ } }, { - "HashCode": 1628249425, + "HashCode": -955252225, "Kind": "Components.EventHandler", "Name": "onloadend", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11555,7 +11555,7 @@ } }, { - "HashCode": -1862188535, + "HashCode": -789297199, "Kind": "Components.EventHandler", "Name": "onprogress", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11638,7 +11638,7 @@ } }, { - "HashCode": -1093189117, + "HashCode": 1982662720, "Kind": "Components.EventHandler", "Name": "onerror", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11721,7 +11721,7 @@ } }, { - "HashCode": 983037827, + "HashCode": 1360489673, "Kind": "Components.EventHandler", "Name": "onactivate", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11804,7 +11804,7 @@ } }, { - "HashCode": 412714631, + "HashCode": -1833847348, "Kind": "Components.EventHandler", "Name": "onbeforeactivate", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11887,7 +11887,7 @@ } }, { - "HashCode": 53882549, + "HashCode": -290430454, "Kind": "Components.EventHandler", "Name": "onbeforedeactivate", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -11970,7 +11970,7 @@ } }, { - "HashCode": -1184481604, + "HashCode": -193184741, "Kind": "Components.EventHandler", "Name": "ondeactivate", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12053,7 +12053,7 @@ } }, { - "HashCode": 60802417, + "HashCode": 1912422451, "Kind": "Components.EventHandler", "Name": "onended", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12136,7 +12136,7 @@ } }, { - "HashCode": 1979747540, + "HashCode": 1400317265, "Kind": "Components.EventHandler", "Name": "onfullscreenchange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12219,7 +12219,7 @@ } }, { - "HashCode": 1168730113, + "HashCode": -948994113, "Kind": "Components.EventHandler", "Name": "onfullscreenerror", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12302,7 +12302,7 @@ } }, { - "HashCode": -1107272837, + "HashCode": 1025140792, "Kind": "Components.EventHandler", "Name": "onloadeddata", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12385,7 +12385,7 @@ } }, { - "HashCode": -913196908, + "HashCode": -2001025888, "Kind": "Components.EventHandler", "Name": "onloadedmetadata", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12468,7 +12468,7 @@ } }, { - "HashCode": -1872854966, + "HashCode": -179230460, "Kind": "Components.EventHandler", "Name": "onpointerlockchange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12551,7 +12551,7 @@ } }, { - "HashCode": 1880885904, + "HashCode": -1325535163, "Kind": "Components.EventHandler", "Name": "onpointerlockerror", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12634,7 +12634,7 @@ } }, { - "HashCode": -632402051, + "HashCode": -363492919, "Kind": "Components.EventHandler", "Name": "onreadystatechange", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12717,7 +12717,7 @@ } }, { - "HashCode": -1721440666, + "HashCode": 451673629, "Kind": "Components.EventHandler", "Name": "onscroll", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12800,7 +12800,7 @@ } }, { - "HashCode": -1964234454, + "HashCode": -700987003, "Kind": "Components.EventHandler", "Name": "ontoggle", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12883,7 +12883,7 @@ } }, { - "HashCode": -1368763600, + "HashCode": 864158239, "Kind": "Components.Splat", "Name": "Attributes", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -12922,7 +12922,7 @@ } }, { - "HashCode": 1073069746, + "HashCode": 1176517699, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.Razor", @@ -13239,7 +13239,7 @@ } }, { - "HashCode": -925605391, + "HashCode": 2005309345, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.AnchorTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -13438,7 +13438,7 @@ } }, { - "HashCode": 790435181, + "HashCode": 1060172358, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.CacheTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -13567,7 +13567,7 @@ } }, { - "HashCode": -829764790, + "HashCode": -1844814766, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ComponentTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -13624,7 +13624,7 @@ } }, { - "HashCode": 874334220, + "HashCode": -155368157, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.DistributedCacheTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -13758,7 +13758,7 @@ } }, { - "HashCode": 1841482938, + "HashCode": 1054044627, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.EnvironmentTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -13806,7 +13806,7 @@ } }, { - "HashCode": 480891565, + "HashCode": 37028506, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.FormActionTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14225,7 +14225,7 @@ } }, { - "HashCode": 655694042, + "HashCode": -759821325, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14329,7 +14329,7 @@ } }, { - "HashCode": -883878792, + "HashCode": -179692598, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ImageTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14377,7 +14377,7 @@ } }, { - "HashCode": 769717372, + "HashCode": -929291698, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14449,7 +14449,7 @@ } }, { - "HashCode": 1036299466, + "HashCode": -563856344, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.LabelTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14484,7 +14484,7 @@ } }, { - "HashCode": 48293061, + "HashCode": 359773418, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.LinkTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14682,7 +14682,7 @@ } }, { - "HashCode": 865432171, + "HashCode": -1446677350, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14712,7 +14712,7 @@ } }, { - "HashCode": 629829289, + "HashCode": 2056762214, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14795,7 +14795,7 @@ } }, { - "HashCode": -245027455, + "HashCode": 465550126, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.PersistComponentStateTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14826,7 +14826,7 @@ } }, { - "HashCode": 1898795343, + "HashCode": -394540347, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ScriptTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -14981,7 +14981,7 @@ } }, { - "HashCode": 2023900575, + "HashCode": -323931657, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.SelectTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -15042,7 +15042,7 @@ } }, { - "HashCode": -1566644463, + "HashCode": -1374295788, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.TextAreaTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -15086,7 +15086,7 @@ } }, { - "HashCode": 146491582, + "HashCode": 1840695034, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationMessageTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -15121,7 +15121,7 @@ } }, { - "HashCode": 193886230, + "HashCode": -273585635, "Kind": "ITagHelper", "Name": "Microsoft.AspNetCore.Mvc.TagHelpers.ValidationSummaryTagHelper", "AssemblyName": "Microsoft.AspNetCore.Mvc.TagHelpers", @@ -15157,7 +15157,7 @@ } }, { - "HashCode": -1890475769, + "HashCode": 286131939, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15253,7 +15253,7 @@ } }, { - "HashCode": 2052439791, + "HashCode": -960455940, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15375,7 +15375,7 @@ } }, { - "HashCode": -882833655, + "HashCode": 2075446638, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15497,7 +15497,7 @@ } }, { - "HashCode": 238779568, + "HashCode": 421718383, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15630,7 +15630,7 @@ } }, { - "HashCode": 1118329928, + "HashCode": -1440943519, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15763,7 +15763,7 @@ } }, { - "HashCode": 42984192, + "HashCode": -2125659418, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -15896,7 +15896,7 @@ } }, { - "HashCode": 672417493, + "HashCode": 1978519814, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16029,7 +16029,7 @@ } }, { - "HashCode": -553094028, + "HashCode": 567709245, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16162,7 +16162,7 @@ } }, { - "HashCode": 1313440925, + "HashCode": -1671573342, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16295,7 +16295,7 @@ } }, { - "HashCode": 1175121792, + "HashCode": 177813828, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16428,7 +16428,7 @@ } }, { - "HashCode": -1178210267, + "HashCode": -1997708658, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16561,7 +16561,7 @@ } }, { - "HashCode": 2059319411, + "HashCode": -384857933, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16694,7 +16694,7 @@ } }, { - "HashCode": -300501825, + "HashCode": 1459195141, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16827,7 +16827,7 @@ } }, { - "HashCode": 1723487363, + "HashCode": 490453057, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -16960,7 +16960,7 @@ } }, { - "HashCode": -148483249, + "HashCode": -849825981, "Kind": "Components.Bind", "Name": "Bind_value", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -17093,7 +17093,7 @@ } }, { - "HashCode": -884100662, + "HashCode": 1713409939, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -17215,7 +17215,7 @@ } }, { - "HashCode": -1172635602, + "HashCode": -2108506667, "Kind": "Components.Bind", "Name": "Bind", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -17337,7 +17337,7 @@ } }, { - "HashCode": -24929389, + "HashCode": -1786017273, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17424,7 +17424,7 @@ } }, { - "HashCode": -2123253951, + "HashCode": -26819022, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputCheckbox", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17512,7 +17512,7 @@ } }, { - "HashCode": 303482104, + "HashCode": -145745437, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17599,7 +17599,7 @@ } }, { - "HashCode": -321524023, + "HashCode": -347786108, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputDate", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17687,7 +17687,7 @@ } }, { - "HashCode": -685691537, + "HashCode": -2087930172, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17774,7 +17774,7 @@ } }, { - "HashCode": 934620358, + "HashCode": 1866709539, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputNumber", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17862,7 +17862,7 @@ } }, { - "HashCode": -260459826, + "HashCode": -51030340, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -17949,7 +17949,7 @@ } }, { - "HashCode": -1279581684, + "HashCode": -712033677, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputRadioGroup", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18037,7 +18037,7 @@ } }, { - "HashCode": 101825203, + "HashCode": 1731243954, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18124,7 +18124,7 @@ } }, { - "HashCode": -1310659868, + "HashCode": 1811689362, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputSelect", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18212,7 +18212,7 @@ } }, { - "HashCode": -1696162796, + "HashCode": 392391791, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputText", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18299,7 +18299,7 @@ } }, { - "HashCode": 1003800466, + "HashCode": 795840310, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputText", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18387,7 +18387,7 @@ } }, { - "HashCode": 273897083, + "HashCode": 977919724, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18474,7 +18474,7 @@ } }, { - "HashCode": 1037426835, + "HashCode": -1144973633, "Kind": "Components.Bind", "Name": "Microsoft.AspNetCore.Components.Forms.InputTextArea", "AssemblyName": "Microsoft.AspNetCore.Components.Web", @@ -18562,7 +18562,7 @@ } }, { - "HashCode": -985186680, + "HashCode": 1656071248, "Kind": "Components.Ref", "Name": "Ref", "AssemblyName": "Microsoft.AspNetCore.Components", @@ -18601,7 +18601,7 @@ } }, { - "HashCode": 2046754903, + "HashCode": -802746319, "Kind": "Components.Key", "Name": "Key", "AssemblyName": "Microsoft.AspNetCore.Components",