// <auto-generated />
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("20230407090137_Add table agency")]
    partial class Addtableagency
    {
        /// <inheritdoc />
        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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<string>("AccountName")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อบัญชี");

                    b.Property<string>("AccountNumber")
                        .HasColumnType("longtext")
                        .HasComment("เลขบัญชี");

                    b.Property<string>("BankName")
                        .HasColumnType("longtext")
                        .HasComment("ธนาคาร");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<Guid>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<Guid?>("CMSCandidateId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("CandidateId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Link")
                        .HasColumnType("longtext")
                        .HasComment("ลิงค์");

                    b.Property<string>("Name")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อลิงค์");

                    b.HasKey("Id");

                    b.HasIndex("CMSCandidateId");

                    b.HasIndex("CandidateId");

                    b.ToTable("CMSAgencys");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CMSCandidate", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<string>("About")
                        .HasColumnType("longtext")
                        .HasComment("ข้อมูลเกี่ยวกับเรา");

                    b.Property<string>("Address")
                        .HasColumnType("longtext")
                        .HasComment("ที่อยู่");

                    b.Property<Guid?>("BannerImgId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("Description")
                        .HasColumnType("longtext")
                        .HasComment("ข้อมูลเว็บโดยย่อ");

                    b.Property<Guid?>("DistrictId")
                        .HasColumnType("char(36)");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<Guid?>("LogoImgId")
                        .HasColumnType("char(36)");

                    b.Property<string>("NameEn")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อเว็บภาษาอังกฤษ");

                    b.Property<string>("NameTh")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อเว็บภาษาไทย");

                    b.Property<Guid?>("ProvinceId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("SubDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<string>("Telephone")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("โทรศัพท์");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<Guid?>("CMSCandidateId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("CandidateId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Link")
                        .HasColumnType("longtext")
                        .HasComment("ลิงค์");

                    b.Property<string>("Name")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อลิงค์");

                    b.HasKey("Id");

                    b.HasIndex("CMSCandidateId");

                    b.HasIndex("CandidateId");

                    b.ToTable("CMSGovernments");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Candidate", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime?>("CitizenDate")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่ออกบัตร");

                    b.Property<Guid?>("CitizenDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<string>("CitizenId")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("เลขประจำตัวประชาชน");

                    b.Property<Guid?>("CitizenProvinceId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("CurrentAddress")
                        .HasColumnType("longtext")
                        .HasComment("ที่อยู่ปัจจุบัน");

                    b.Property<Guid?>("CurrentDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("CurrentProvinceId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("CurrentSubDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<string>("CurrentZipCode")
                        .HasMaxLength(10)
                        .HasColumnType("varchar(10)")
                        .HasComment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน");

                    b.Property<DateTime?>("DateOfBirth")
                        .HasMaxLength(40)
                        .HasColumnType("datetime(6)")
                        .HasComment("วันเกิด");

                    b.Property<string>("Email")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("อีเมล");

                    b.Property<string>("ExamIdenNumber")
                        .HasColumnType("longtext")
                        .HasComment("เลขประจำตัวสอบ");

                    b.Property<string>("FatherFirstName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อจริงบิดา");

                    b.Property<string>("FatherLastName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("นามสกุลบิดา");

                    b.Property<string>("FatherNationality")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("สัญชาติบิดา");

                    b.Property<string>("FatherOccupation")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("อาชีพบิดา");

                    b.Property<Guid?>("FatherPrefixId")
                        .HasColumnType("char(36)");

                    b.Property<string>("FirstName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasColumnOrder(1)
                        .HasComment("ชื่อจริง");

                    b.Property<string>("Knowledge")
                        .HasColumnType("longtext")
                        .HasComment("ความสามารถพิเศษ");

                    b.Property<string>("LastName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasColumnOrder(2)
                        .HasComment("นามสกุล");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<bool?>("Marry")
                        .HasColumnType("tinyint(1)")
                        .HasComment("คู่สมรส");

                    b.Property<string>("MarryFirstName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อจริงคู่สมรส");

                    b.Property<string>("MarryLastName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("นามสกุลคู่สมรส");

                    b.Property<string>("MarryNationality")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("สัญชาติคู่สมรส");

                    b.Property<string>("MarryOccupation")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("อาชีพคู่สมรส");

                    b.Property<Guid?>("MarryPrefixId")
                        .HasColumnType("char(36)");

                    b.Property<string>("MobilePhone")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("โทรศัพท์มือถือ");

                    b.Property<string>("MotherFirstName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อจริงมารดา");

                    b.Property<string>("MotherLastName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("นามสกุลมารดา");

                    b.Property<string>("MotherNationality")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("สัญชาติมารดา");

                    b.Property<string>("MotherOccupation")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("อาชีพมารดา");

                    b.Property<Guid?>("MotherPrefixId")
                        .HasColumnType("char(36)");

                    b.Property<string>("Nationality")
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(3)
                        .HasComment("สัญชาติ");

                    b.Property<string>("OccupationCompany")
                        .HasColumnType("longtext")
                        .HasComment("สำนัก/บริษัท บริษัท");

                    b.Property<string>("OccupationDepartment")
                        .HasColumnType("longtext")
                        .HasComment("กอง/ฝ่าย บริษัท");

                    b.Property<string>("OccupationEmail")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("อีเมล บริษัท");

                    b.Property<string>("OccupationPosition")
                        .HasColumnType("longtext")
                        .HasComment("ตำแหน่งอาชีพ");

                    b.Property<string>("OccupationTelephone")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("โทรศัพท์ บริษัท");

                    b.Property<string>("OccupationType")
                        .HasColumnType("longtext")
                        .HasComment("ประเภทอาชีพที่ทำงานมาก่อน");

                    b.Property<Guid?>("PaymentImgId")
                        .HasColumnType("char(36)");

                    b.Property<Guid>("PeriodExamId")
                        .HasColumnType("char(36)");

                    b.Property<string>("Point")
                        .HasColumnType("longtext")
                        .HasComment("คะแนน");

                    b.Property<Guid?>("PositionExamId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("PrefixId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("ProfileImgId")
                        .HasColumnType("char(36)");

                    b.Property<string>("RegistAddress")
                        .HasColumnType("longtext")
                        .HasComment("ที่อยู่ตามทะเบียนบ้าน");

                    b.Property<Guid?>("RegistDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("RegistProvinceId")
                        .HasColumnType("char(36)");

                    b.Property<bool?>("RegistSame")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน");

                    b.Property<Guid?>("RegistSubDistrictId")
                        .HasColumnType("char(36)");

                    b.Property<string>("RegistZipCode")
                        .HasMaxLength(10)
                        .HasColumnType("varchar(10)")
                        .HasComment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน");

                    b.Property<string>("RejectDetail")
                        .HasColumnType("longtext")
                        .HasComment("เหตุผลการไม่อนุมัติ");

                    b.Property<Guid?>("RelationshipId")
                        .HasColumnType("char(36)");

                    b.Property<string>("SeatNumber")
                        .HasColumnType("longtext")
                        .HasComment("เลขที่นั่งสอบ");

                    b.Property<string>("Status")
                        .IsRequired()
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("สถานะผู้สมัคร");

                    b.Property<string>("Telephone")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("โทรศัพท์");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<Guid>("CandidateId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<Guid>("DocumentId")
                        .HasColumnType("char(36)");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<Guid>("CandidateId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<DateTime>("DurationEnd")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(2)
                        .HasComment("ระยะเวลาสิ้นสุด");

                    b.Property<DateTime>("DurationStart")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(1)
                        .HasComment("ระยะเวลาเริ่ม");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasColumnOrder(3)
                        .HasComment("สถานที่ทำงาน/ฝึกงาน");

                    b.Property<string>("Position")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasColumnOrder(4)
                        .HasComment("ตำแหน่ง/ลักษณะงาน");

                    b.Property<string>("Reason")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasColumnOrder(6)
                        .HasComment("เหตุผลที่ออก");

                    b.Property<int>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(2)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(150)
                        .HasColumnType("varchar(150)")
                        .HasColumnOrder(1)
                        .HasComment("เขต/อำเภอ");

                    b.Property<Guid?>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedDate")
                        .HasColumnType("datetime(6)");

                    b.Property<string>("Detail")
                        .IsRequired()
                        .HasColumnType("text");

                    b.Property<string>("FileName")
                        .IsRequired()
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)");

                    b.Property<int>("FileSize")
                        .HasColumnType("int");

                    b.Property<string>("FileType")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)");

                    b.Property<Guid>("ObjectRefId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.ToTable("Documents");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Education", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<Guid>("CandidateId")
                        .HasColumnType("char(36)");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<DateTime>("DurationEnd")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(2)
                        .HasComment("ระยะเวลาสิ้นสุด");

                    b.Property<DateTime>("DurationStart")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(1)
                        .HasComment("ระยะเวลาเริ่ม");

                    b.Property<Guid>("EducationLevelId")
                        .HasColumnType("char(36)");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Major")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasColumnOrder(4)
                        .HasComment("สาขาวิชา/วิชาเอก");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasColumnOrder(3)
                        .HasComment("ชื่อสถานศึกษา");

                    b.Property<float>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(2)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("AnnouncementEndDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(6)
                        .HasComment("วันสิ้นสุดประกาศ");

                    b.Property<DateTime>("AnnouncementStartDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(5)
                        .HasComment("วันเริ่มประกาศ");

                    b.Property<bool>("CheckDisability")
                        .HasColumnType("tinyint(1)")
                        .HasComment("คนพิการ");

                    b.Property<bool>("CheckDocument")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ตรวจสอบเอกสารหลังประกาศผลสอบ");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("Detail")
                        .HasColumnType("longtext")
                        .HasComment("รายละเอียดสมัครสอบ");

                    b.Property<float?>("Fee")
                        .HasColumnType("float")
                        .HasComment("ค่าธรรมเนียม");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(150)
                        .HasColumnType("varchar(150)")
                        .HasColumnOrder(7)
                        .HasComment("ชื่อการสอบ");

                    b.Property<string>("Note")
                        .HasColumnType("longtext")
                        .HasComment("หมายเหตุ");

                    b.Property<Guid?>("OrganizationCodeId")
                        .HasColumnType("char(36)")
                        .HasComment("Id รหัสส่วนราชการ");

                    b.Property<string>("OrganizationCodeName")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อรหัสส่วนราชการ");

                    b.Property<Guid?>("OrganizationId")
                        .HasColumnType("char(36)")
                        .HasComment("Id หน่วยงาน");

                    b.Property<string>("OrganizationName")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อหน่วยงาน");

                    b.Property<DateTime>("PaymentEndDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(4)
                        .HasComment("วันสิ้นสุดชำระเงิน");

                    b.Property<string>("PaymentKrungThai")
                        .HasColumnType("longtext")
                        .HasComment("ชำระเงินผ่านกรุงไทย");

                    b.Property<DateTime>("PaymentStartDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(3)
                        .HasComment("วันเริ่มชำระเงิน");

                    b.Property<DateTime>("RegisterEndDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(2)
                        .HasComment("วันสิ้นสุดสมัครสอบ");

                    b.Property<DateTime>("RegisterStartDate")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(1)
                        .HasComment("วันเริ่มสมัครสอบ");

                    b.Property<int?>("Round")
                        .HasColumnType("int")
                        .HasColumnOrder(8)
                        .HasComment("รอบการสอบ");

                    b.Property<bool>("SetSeat")
                        .HasColumnType("tinyint(1)")
                        .HasComment("เช็คอัพคะแนน");

                    b.Property<int?>("Year")
                        .HasColumnType("int")
                        .HasComment("ปีงบประมาณ");

                    b.HasKey("Id");

                    b.ToTable("PeriodExams");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<Guid>("DocumentId")
                        .HasColumnType("char(36)");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<Guid>("PeriodExamId")
                        .HasColumnType("char(36)");

                    b.HasKey("Id");

                    b.HasIndex("DocumentId");

                    b.HasIndex("PeriodExamId");

                    b.ToTable("PeriodExamDocuments");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<Guid>("PeriodExamId")
                        .HasColumnType("char(36)");

                    b.Property<Guid?>("PositionId")
                        .HasColumnType("char(36)")
                        .HasComment("Id ตำแหน่ง");

                    b.Property<string>("PositionName")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อตำแหน่ง");

                    b.Property<string>("TypeId")
                        .HasColumnType("longtext")
                        .HasComment("Id ประเภทแบบฟอร์ม");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(3)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(2)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(2)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(2)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("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<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<Guid?>("DistrictId")
                        .HasColumnType("char(36)");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasColumnOrder(3)
                        .HasComment("สถานะการใช้งาน");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(150)
                        .HasColumnType("varchar(150)")
                        .HasColumnOrder(1)
                        .HasComment("เขต/อำเภอ");

                    b.Property<string>("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", null)
                        .WithMany("CMSAgencys")
                        .HasForeignKey("CMSCandidateId");

                    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.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", null)
                        .WithMany("CMSGovernments")
                        .HasForeignKey("CMSCandidateId");

                    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.Candidate", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "CitizenDistrict")
                        .WithMany()
                        .HasForeignKey("CitizenDistrictId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "CitizenProvince")
                        .WithMany()
                        .HasForeignKey("CitizenProvinceId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "CurrentDistrict")
                        .WithMany()
                        .HasForeignKey("CurrentDistrictId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "CurrentProvince")
                        .WithMany()
                        .HasForeignKey("CurrentProvinceId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "CurrentSubDistrict")
                        .WithMany()
                        .HasForeignKey("CurrentSubDistrictId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "FatherPrefix")
                        .WithMany()
                        .HasForeignKey("FatherPrefixId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "MarryPrefix")
                        .WithMany()
                        .HasForeignKey("MarryPrefixId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "MotherPrefix")
                        .WithMany()
                        .HasForeignKey("MotherPrefixId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "PaymentImg")
                        .WithMany()
                        .HasForeignKey("PaymentImgId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
                        .WithMany("Candidate")
                        .HasForeignKey("PeriodExamId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", "PositionExam")
                        .WithMany()
                        .HasForeignKey("PositionExamId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Prefix", "Prefix")
                        .WithMany()
                        .HasForeignKey("PrefixId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "ProfileImg")
                        .WithMany()
                        .HasForeignKey("ProfileImgId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "RegistDistrict")
                        .WithMany()
                        .HasForeignKey("RegistDistrictId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "RegistProvince")
                        .WithMany()
                        .HasForeignKey("RegistProvinceId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", "RegistSubDistrict")
                        .WithMany()
                        .HasForeignKey("RegistSubDistrictId");

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Relationship", "Relationship")
                        .WithMany()
                        .HasForeignKey("RelationshipId");

                    b.Navigation("CitizenDistrict");

                    b.Navigation("CitizenProvince");

                    b.Navigation("CurrentDistrict");

                    b.Navigation("CurrentProvince");

                    b.Navigation("CurrentSubDistrict");

                    b.Navigation("FatherPrefix");

                    b.Navigation("MarryPrefix");

                    b.Navigation("MotherPrefix");

                    b.Navigation("PaymentImg");

                    b.Navigation("PeriodExam");

                    b.Navigation("PositionExam");

                    b.Navigation("Prefix");

                    b.Navigation("ProfileImg");

                    b.Navigation("RegistDistrict");

                    b.Navigation("RegistProvince");

                    b.Navigation("RegistSubDistrict");

                    b.Navigation("Relationship");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.CandidateDocument", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
                        .WithMany()
                        .HasForeignKey("CandidateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Candidate");

                    b.Navigation("Document");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Career", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
                        .WithMany()
                        .HasForeignKey("CandidateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Candidate");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.District", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Province", "Province")
                        .WithMany("Districts")
                        .HasForeignKey("ProvinceId");

                    b.Navigation("Province");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Education", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
                        .WithMany()
                        .HasForeignKey("CandidateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.EducationLevel", "EducationLevel")
                        .WithMany()
                        .HasForeignKey("EducationLevelId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Candidate");

                    b.Navigation("EducationLevel");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PeriodExamDocument", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Documents.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
                        .WithMany("PeriodExamDocuments")
                        .HasForeignKey("PeriodExamId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Document");

                    b.Navigation("PeriodExam");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.PositionExam", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.PeriodExam", "PeriodExam")
                        .WithMany("PositionExam")
                        .HasForeignKey("PeriodExamId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("PeriodExam");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.SubDistrict", b =>
                {
                    b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.District", "District")
                        .WithMany("SubDistricts")
                        .HasForeignKey("DistrictId");

                    b.Navigation("District");
                });

            modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.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
        }
    }
}
