// <auto-generated />
using System;
using BMA.EHR.Infrastructure.Persistence;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace BMA.EHR.Infrastructure.Migrations.DisciplineDb
{
    [DbContext(typeof(DisciplineDbContext))]
    [Migration("20240110101334_update table DisciplineDisciplinary_DirectorInvestigates datestart nullable2")]
    partial class updatetableDisciplineDisciplinary_DirectorInvestigatesdatestartnullable2
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "7.0.9")
                .HasAnnotation("Relational:MaxIdentifierLength", 64);

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

                    b.Property<string>("Appellant")
                        .HasColumnType("longtext")
                        .HasComment("ผู้ร้องเรียน");

                    b.Property<string>("ComplaintFrom")
                        .HasColumnType("longtext")
                        .HasComment("รับเรื่องร้องเรียนจาก ระบุว่ารับเรื่องมาจากใคร/หน่วยงานไหน (สตง., ปปช., ปปท., จดหมาย, อีเมล, โทรศัพท์, บอกกล่าว)");

                    b.Property<Guid>("ConsideredAgency")
                        .HasColumnType("char(36)")
                        .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<DateTime?>("DateConsideration")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่กำหนดพิจารณา");

                    b.Property<DateTime?>("DateNotification")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันแจ้งเตือนล่วงหน้า");

                    b.Property<DateTime?>("DateReceived")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่รับเรื่อง เป็นวันที่ถือเป็นจุดเริ่มต้นของวินัยนั้น ๆ");

                    b.Property<string>("Description")
                        .HasColumnType("text")
                        .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>("LevelConsideration")
                        .HasColumnType("longtext")
                        .HasComment("ระดับการพิจารณา 'ยังไม่ระบุ' (NORMAL คือ ปกติ, URGENT คือ ด่วน, VERY_URGENT คือ ด่วนมาก)");

                    b.Property<string>("OffenseDetails")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");

                    b.Property<Guid?>("Organization")
                        .HasColumnType("char(36)")
                        .HasComment("กรณีหน่วยงานใส่ id ของหน่วยงาน");

                    b.Property<string>("RespondentType")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ผู้ถูกร้องเรียน (PERSON คือ บุคคล, ORGANIZATION คือ หน่วยงาน, BANGKOK คือ กรุงเทพมหานคร)");

                    b.Property<string>("Result")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบ");

                    b.Property<string>("Status")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("สถานะเรื่องร้องเรียน มีดังนี้ ใหม่ (NEW), ยุติเรื่อง (STOP), มีมูลส่งไปสืบสวนแล้ว (SEND_INVESTIGATE)");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasComment("เรื่องที่ร้องเรียน");

                    b.HasKey("Id");

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

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

                    b.Property<string>("CaseNumber")
                        .HasColumnType("longtext")
                        .HasComment("คดีเลขที่");

                    b.Property<string>("CaseType")
                        .HasColumnType("longtext")
                        .HasComment("ประเภทคดี");

                    b.Property<string>("CitizenId")
                        .HasMaxLength(13)
                        .HasColumnType("varchar(13)")
                        .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>("Description")
                        .HasColumnType("text")
                        .HasComment("รายละเอียดของเรื่องอุทธรณ์/ร้องทุกข์");

                    b.Property<string>("Fullname")
                        .HasColumnType("longtext")
                        .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>("Oc")
                        .HasColumnType("longtext")
                        .HasComment("สังกัดผู้อุทธรณ์/ร้องทุกข์");

                    b.Property<string>("Position")
                        .HasColumnType("longtext")
                        .HasComment("ตำแหน่งผู้อุทธรณ์/ร้องทุกข์");

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

                    b.Property<string>("Status")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("สถานะอุทธรณ์/ร้องทุกข์");

                    b.Property<string>("Title")
                        .HasColumnType("text")
                        .HasComment("เรื่องที่อุทธรณ์/ร้องทุกข์");

                    b.Property<string>("Type")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ประเภทอุทธรณ์หรือร้องทุกข์");

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

                    b.HasKey("Id");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal_Doc", 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>("DisciplineComplaint_AppealId")
                        .HasColumnType("char(36)");

                    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("DisciplineComplaint_AppealId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal_History", 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>("DisciplineComplaint_AppealId")
                        .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>("Status")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("สถานะอุทธรณ์/ร้องทุกข์");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineComplaint_AppealId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Channel", 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<string>("Name")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ชื่อประเภทการร้องเรียน");

                    b.HasKey("Id");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Doc", 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>("DisciplineComplaintId")
                        .HasColumnType("char(36)");

                    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("DisciplineComplaintId");

                    b.HasIndex("DocumentId");

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

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

                    b.Property<string>("CitizenId")
                        .HasMaxLength(13)
                        .HasColumnType("varchar(13)")
                        .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<Guid>("DisciplineComplaintId")
                        .HasColumnType("char(36)");

                    b.Property<string>("FirstName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อ");

                    b.Property<string>("LastName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .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>("Organization")
                        .HasColumnType("longtext")
                        .HasComment("สังกัด");

                    b.Property<Guid?>("PersonId")
                        .HasColumnType("char(36)")
                        .HasComment("id อ้างอิง profile");

                    b.Property<string>("PosNo")
                        .HasColumnType("longtext")
                        .HasComment("เลขที่ตำแหน่ง");

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

                    b.Property<string>("PositionLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับ");

                    b.Property<string>("Prefix")
                        .HasColumnType("longtext")
                        .HasComment("คำนำหน้า");

                    b.Property<double?>("Salary")
                        .HasColumnType("double")
                        .HasComment("เงินเดือน");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineComplaintId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDirector", 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>("Email")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("อีเมล");

                    b.Property<string>("FirstName")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ชื่อ");

                    b.Property<string>("LastName")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .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>("Phone")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("เบอร์โทรศัพท์");

                    b.Property<string>("Position")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ตำแหน่ง");

                    b.Property<string>("Prefix")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("คำนำหน้าชื่อ");

                    b.HasKey("Id");

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

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

                    b.Property<string>("Appellant")
                        .HasColumnType("longtext")
                        .HasComment("ผู้ร้องเรียน");

                    b.Property<string>("ComplaintFrom")
                        .HasColumnType("longtext")
                        .HasComment("รับเรื่องร้องเรียนจาก ระบุว่ารับเรื่องมาจากใคร/หน่วยงานไหน (สตง., ปปช., ปปท., จดหมาย, อีเมล, โทรศัพท์, บอกกล่าว)");

                    b.Property<Guid>("ConsideredAgency")
                        .HasColumnType("char(36)")
                        .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<DateTime?>("DateConsideration")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่กำหนดพิจารณา");

                    b.Property<DateTime?>("DateNotification")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันแจ้งเตือนล่วงหน้า");

                    b.Property<DateTime?>("DateReceived")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่รับเรื่อง เป็นวันที่ถือเป็นจุดเริ่มต้นของวินัยนั้น ๆ");

                    b.Property<string>("Description")
                        .HasColumnType("text")
                        .HasComment("รายละเอียดของเรื่องร้องเรียน");

                    b.Property<string>("DisciplinaryCaseFault")
                        .HasColumnType("longtext")
                        .HasComment("กรณีความผิด");

                    b.Property<string>("DisciplinaryCauseText")
                        .HasColumnType("longtext")
                        .HasComment("ผลการสอบสวน กรณีมีมูล");

                    b.Property<DateTime?>("DisciplinaryDateAllegation")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่รับทราบข้อกล่าวหา");

                    b.Property<DateTime?>("DisciplinaryDateEnd")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สิ้นสุดการสอบสวน");

                    b.Property<DateTime?>("DisciplinaryDateEvident")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สรุปพยานหลักฐาน");

                    b.Property<DateTime?>("DisciplinaryDateInvestigation")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่มีคำสั่งให้สอบสวน");

                    b.Property<DateTime?>("DisciplinaryDateResult")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่รายงานผลการสอบสวน");

                    b.Property<DateTime?>("DisciplinaryDateStart")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่เริ่มการสอบสวน");

                    b.Property<int?>("DisciplinaryDaysExtend")
                        .HasColumnType("int")
                        .HasComment("จำนวนวันที่ขยาย");

                    b.Property<bool>("DisciplinaryExtendStatus")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ขยายเวลา");

                    b.Property<string>("DisciplinaryFaultLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับโทษความผิด กรณีไม่ร้ายแรง: ภาคทัณฑ์, ตัดเงินเดือน, ลดขั้นเงินเดือน | กรณีร้ายแรง: ปลดออก, ไล่ออก");

                    b.Property<string>("DisciplinaryFaultLevelOther")
                        .HasColumnType("longtext")
                        .HasComment("ระดับโทษความผิดกรณีอื่นๆ");

                    b.Property<string>("DisciplinaryInvestigateAt")
                        .HasColumnType("longtext")
                        .HasComment("สอบสวนที่");

                    b.Property<string>("DisciplinaryRecordAccuser")
                        .HasColumnType("longtext")
                        .HasComment("บันทึกถ้อยคำของผู้กล่าวหา");

                    b.Property<string>("DisciplinaryRefLaw")
                        .HasColumnType("longtext")
                        .HasComment("อ้างอิงมาตราตามกฎหมาย");

                    b.Property<string>("DisciplinaryResult")
                        .HasColumnType("longtext")
                        .HasComment("ผลการสอบสวน เหตุผล");

                    b.Property<string>("DisciplinaryStatusResult")
                        .HasColumnType("longtext")
                        .HasComment("ผลการสอบสวน ผล");

                    b.Property<string>("DisciplinarySummaryEvidence")
                        .HasColumnType("longtext")
                        .HasComment("สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา");

                    b.Property<string>("DisciplinaryWitnesses")
                        .HasColumnType("longtext")
                        .HasComment("พยานและบันทึกถ้อยคำพยาน");

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

                    b.Property<string>("InvestigationCauseText")
                        .HasColumnType("longtext")
                        .HasComment("กรณีมีมูลต้องเลือกว่า 'ร้ายแรง' หรือ 'ไม่ร้ายแรง'");

                    b.Property<DateTime?>("InvestigationDateEnd")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สิ้นสุดการสืบสวน");

                    b.Property<DateTime?>("InvestigationDateStart")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่เริ่มการสืบสวน");

                    b.Property<int?>("InvestigationDaysExtend")
                        .HasColumnType("int")
                        .HasComment("จำนวนวันที่ต้องการขยาย");

                    b.Property<string>("InvestigationDescription")
                        .HasColumnType("longtext")
                        .HasComment("รายละเอียดเกี่ยวกับการสืบสวน");

                    b.Property<string>("InvestigationDetail")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะการสืบสวน (APPOINT_DIRECTORS คือ แต่งตั้งกรรมการสืบสวน, SECRET_INVESTIGATION คือ สืบสวนทางลับ, OTHER คือ อื่น ๆ)");

                    b.Property<string>("InvestigationDetailOther")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะการสืบสวนกรณีเลือกอื่นๆ");

                    b.Property<bool>("InvestigationExtendStatus")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ขยายเวลา");

                    b.Property<string>("InvestigationStatusResult")
                        .HasColumnType("longtext")
                        .HasComment("สถานะหรือผลการสืบสวน (NOT_SPECIFIED คือ ยังไม่ระบุ, HAVE_CAUSE คือ มีมูล, NO_CAUSE คือ ไม่มีมูล");

                    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>("LevelConsideration")
                        .HasColumnType("longtext")
                        .HasComment("ระดับการพิจารณา 'ยังไม่ระบุ' (NORMAL คือ ปกติ, URGENT คือ ด่วน, VERY_URGENT คือ ด่วนมาก)");

                    b.Property<string>("OffenseDetails")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");

                    b.Property<Guid?>("Organization")
                        .HasColumnType("char(36)")
                        .HasComment("กรณีหน่วยงานใส่ id ของหน่วยงาน");

                    b.Property<string>("RespondentType")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ผู้ถูกร้องเรียน (PERSON คือ บุคคล, ORGANIZATION คือ หน่วยงาน, BANGKOK คือ กรุงเทพมหานคร)");

                    b.Property<string>("Result")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบ");

                    b.Property<string>("ResultComplaint")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบเรื่องร้องเรียน");

                    b.Property<string>("ResultDescription")
                        .HasColumnType("longtext")
                        .HasComment("สรุปผลการพิจารณา");

                    b.Property<string>("ResultDisciplineType")
                        .HasColumnType("longtext")
                        .HasComment("ประเภทวินัย");

                    b.Property<string>("ResultInvestigate")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบเรื่องสืบสวน");

                    b.Property<string>("ResultOc")
                        .HasColumnType("longtext")
                        .HasComment("หน่วยงาย/ส่วนราชการ");

                    b.Property<string>("ResultTitleType")
                        .HasColumnType("longtext")
                        .HasComment("ประเภทของเรื่อง");

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

                    b.Property<string>("Status")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("สถานะเรื่องร้องเรียน มีดังนี้ ใหม่ (NEW), ยุติเรื่อง (STOP), มีมูลส่งไปสืบสวนแล้ว (SEND_INVESTIGATE)");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasComment("เรื่องที่ร้องเรียน");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineInvestigateId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinaryExtend", 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<DateTime?>("DateEnd")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สิ้นสุด");

                    b.Property<DateTime?>("DateStart")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่เริ่ม");

                    b.Property<int?>("DaysExtend")
                        .HasColumnType("int")
                        .HasComment("จำนวนวันที่การขยาย");

                    b.Property<Guid>("DisciplineDisciplinaryId")
                        .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>("Name")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อการขยาย");

                    b.Property<int>("Num")
                        .HasColumnType("int")
                        .HasComment("ครั้งที่ขยาย");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineDisciplinaryId");

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

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

                    b.Property<string>("CommandNo")
                        .IsRequired()
                        .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<Guid>("DisciplineDirectorId")
                        .HasColumnType("char(36)");

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

                    b.Property<string>("Duty")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .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.HasKey("Id");

                    b.HasIndex("DisciplineDirectorId");

                    b.HasIndex("DisciplineDisciplinaryId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocComplaintInvestigate", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigate", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigateRelevant", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocOther", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRecordAccuser", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRelevant", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocResult", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocSummaryEvidence", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocWitnesses", 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>("DisciplineDisciplinaryId")
                        .HasColumnType("char(36)");

                    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("DisciplineDisciplinaryId");

                    b.HasIndex("DocumentId");

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

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

                    b.Property<string>("CitizenId")
                        .HasMaxLength(13)
                        .HasColumnType("varchar(13)")
                        .HasComment("รหัสบัตรประชาชน");

                    b.Property<Guid?>("CommandTypeDiscardId")
                        .HasColumnType("char(36)")
                        .HasComment("ประเภทออกคำสั่งงดโทด");

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

                    b.Property<string>("FirstName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อ");

                    b.Property<string>("IsReport")
                        .HasColumnType("longtext")
                        .HasComment("ส่งไปยุติเรื่อง");

                    b.Property<string>("IsSuspend")
                        .HasColumnType("longtext")
                        .HasComment("ส่งไปพักราชการ");

                    b.Property<string>("LastName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .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>("Organization")
                        .HasColumnType("longtext")
                        .HasComment("สังกัด");

                    b.Property<Guid?>("PersonId")
                        .HasColumnType("char(36)")
                        .HasComment("id อ้างอิง profile");

                    b.Property<string>("PosNo")
                        .HasColumnType("longtext")
                        .HasComment("เลขที่ตำแหน่ง");

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

                    b.Property<string>("PositionLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับ");

                    b.Property<string>("Prefix")
                        .HasColumnType("longtext")
                        .HasComment("คำนำหน้า");

                    b.Property<double?>("Salary")
                        .HasColumnType("double")
                        .HasComment("เงินเดือน");

                    b.Property<string>("Status")
                        .HasColumnType("longtext")
                        .HasComment("สถานะออกคำสั่ง");

                    b.Property<string>("StatusDiscard")
                        .HasColumnType("longtext")
                        .HasComment("สถานะออกคำสั่งงดโทด");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineDisciplinaryId");

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

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

                    b.Property<string>("Appellant")
                        .HasColumnType("longtext")
                        .HasComment("ผู้ร้องเรียน");

                    b.Property<string>("ComplaintFrom")
                        .HasColumnType("longtext")
                        .HasComment("รับเรื่องร้องเรียนจาก ระบุว่ารับเรื่องมาจากใคร/หน่วยงานไหน (สตง., ปปช., ปปท., จดหมาย, อีเมล, โทรศัพท์, บอกกล่าว)");

                    b.Property<Guid>("ConsideredAgency")
                        .HasColumnType("char(36)")
                        .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<DateTime?>("DateConsideration")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่กำหนดพิจารณา");

                    b.Property<DateTime?>("DateNotification")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันแจ้งเตือนล่วงหน้า");

                    b.Property<DateTime?>("DateReceived")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่รับเรื่อง เป็นวันที่ถือเป็นจุดเริ่มต้นของวินัยนั้น ๆ");

                    b.Property<string>("Description")
                        .HasColumnType("text")
                        .HasComment("รายละเอียดของเรื่องร้องเรียน");

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

                    b.Property<string>("InvestigationCauseText")
                        .HasColumnType("longtext")
                        .HasComment("กรณีมีมูลต้องเลือกว่า 'ร้ายแรง' หรือ 'ไม่ร้ายแรง'");

                    b.Property<DateTime?>("InvestigationDateEnd")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สิ้นสุดการสืบสวน");

                    b.Property<DateTime?>("InvestigationDateStart")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่เริ่มการสืบสวน");

                    b.Property<int?>("InvestigationDaysExtend")
                        .HasColumnType("int")
                        .HasComment("จำนวนวันที่ต้องการขยาย");

                    b.Property<string>("InvestigationDescription")
                        .HasColumnType("longtext")
                        .HasComment("รายละเอียดเกี่ยวกับการสืบสวน");

                    b.Property<string>("InvestigationDetail")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะการสืบสวน (appoint_directors คือ แต่งตั้งกรรมการสืบสวน, secret_investigation คือ สืบสวนทางลับ, other คือ อื่น ๆ)");

                    b.Property<string>("InvestigationDetailOther")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะการสืบสวนกรณีเลือกอื่นๆ");

                    b.Property<bool>("InvestigationExtendStatus")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ขยายเวลา");

                    b.Property<string>("InvestigationStatusResult")
                        .HasColumnType("longtext")
                        .HasComment("สถานะหรือผลการสืบสวน (not_specified คือ ยังไม่ระบุ, have_cause คือ มีมูล, no_cause คือ ไม่มีมูล");

                    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>("LevelConsideration")
                        .HasColumnType("longtext")
                        .HasComment("ระดับการพิจารณา 'ยังไม่ระบุ' (NORMAL คือ ปกติ, URGENT คือ ด่วน, VERY_URGENT คือ ด่วนมาก)");

                    b.Property<string>("OffenseDetails")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");

                    b.Property<Guid?>("Organization")
                        .HasColumnType("char(36)")
                        .HasComment("กรณีหน่วยงานใส่ id ของหน่วยงาน");

                    b.Property<string>("RespondentType")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ผู้ถูกร้องเรียน (PERSON คือ บุคคล, ORGANIZATION คือ หน่วยงาน, BANGKOK คือ กรุงเทพมหานคร)");

                    b.Property<string>("Result")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบ");

                    b.Property<string>("ResultComplaint")
                        .HasColumnType("longtext")
                        .HasComment("ผลการตรวจสอบเรื่องร้องเรียน");

                    b.Property<string>("Status")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("สถานะเรื่องร้องเรียน มีดังนี้ ใหม่ (NEW), ยุติเรื่อง (STOP), มีมูลส่งไปสืบสวนแล้ว (SEND_INVESTIGATE)");

                    b.Property<string>("Title")
                        .IsRequired()
                        .HasColumnType("text")
                        .HasComment("เรื่องที่ร้องเรียน");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineComplaintId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigateExtend", 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<DateTime?>("DateEnd")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สิ้นสุด");

                    b.Property<DateTime?>("DateStart")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่เริ่ม");

                    b.Property<int?>("DaysExtend")
                        .HasColumnType("int")
                        .HasComment("จำนวนวันที่การขยาย");

                    b.Property<Guid>("DisciplineInvestigateId")
                        .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>("Name")
                        .HasColumnType("longtext")
                        .HasComment("ชื่อการขยาย");

                    b.Property<int>("Num")
                        .HasColumnType("int")
                        .HasComment("ครั้งที่ขยาย");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineInvestigateId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigateRelevant_Doc", 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>("DisciplineInvestigateId")
                        .HasColumnType("char(36)");

                    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("DisciplineInvestigateId");

                    b.HasIndex("DocumentId");

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

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

                    b.Property<string>("CommandNo")
                        .IsRequired()
                        .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<Guid>("DisciplineDirectorId")
                        .HasColumnType("char(36)");

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

                    b.Property<string>("Duty")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .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.HasKey("Id");

                    b.HasIndex("DisciplineDirectorId");

                    b.HasIndex("DisciplineInvestigateId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_Doc", 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>("DisciplineInvestigateId")
                        .HasColumnType("char(36)");

                    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("DisciplineInvestigateId");

                    b.HasIndex("DocumentId");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_DocComplaint", 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>("DisciplineInvestigateId")
                        .HasColumnType("char(36)");

                    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("DisciplineInvestigateId");

                    b.HasIndex("DocumentId");

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

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

                    b.Property<string>("CitizenId")
                        .HasMaxLength(13)
                        .HasColumnType("varchar(13)")
                        .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<Guid>("DisciplineInvestigateId")
                        .HasColumnType("char(36)");

                    b.Property<string>("FirstName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อ");

                    b.Property<bool?>("IsDisciplinary")
                        .HasColumnType("tinyint(1)")
                        .HasComment("ส่งไปสอบสวน");

                    b.Property<string>("IsReport")
                        .HasColumnType("longtext")
                        .HasComment("ส่งไปยุติเรื่อง");

                    b.Property<string>("LastName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .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>("Organization")
                        .HasColumnType("longtext")
                        .HasComment("สังกัด");

                    b.Property<Guid?>("PersonId")
                        .HasColumnType("char(36)")
                        .HasComment("id อ้างอิง profile");

                    b.Property<string>("PosNo")
                        .HasColumnType("longtext")
                        .HasComment("เลขที่ตำแหน่ง");

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

                    b.Property<string>("PositionLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับ");

                    b.Property<string>("Prefix")
                        .HasColumnType("longtext")
                        .HasComment("คำนำหน้า");

                    b.Property<double?>("Salary")
                        .HasColumnType("double")
                        .HasComment("เงินเดือน");

                    b.HasKey("Id");

                    b.HasIndex("DisciplineInvestigateId");

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

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

                    b.Property<string>("CitizenId")
                        .HasMaxLength(13)
                        .HasColumnType("varchar(13)")
                        .HasComment("รหัสบัตรประชาชน");

                    b.Property<Guid?>("CommandTypeId")
                        .HasColumnType("char(36)")
                        .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>("DescriptionSuspend")
                        .HasColumnType("longtext")
                        .HasComment("เหตุที่ถูกสั่งพักราชการ/ออกจากราชการไว้ก่อน");

                    b.Property<string>("DisciplinaryCaseFault")
                        .HasColumnType("longtext")
                        .HasComment("กรณีความผิด");

                    b.Property<string>("DisciplinaryFaultLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับโทษความผิด กรณีไม่ร้ายแรง: ภาคทัณฑ์, ตัดเงินเดือน, ลดขั้นเงินเดือน | กรณีร้ายแรง: ปลดออก, ไล่ออก");

                    b.Property<DateTime?>("EndDateSuspend")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันสิ้นสุดการสั่งพักราชการ/ให้ออกจากราชการไว้ก่อน");

                    b.Property<string>("FirstName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("ชื่อ");

                    b.Property<string>("LastName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .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>("OffenseDetails")
                        .HasColumnType("longtext")
                        .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");

                    b.Property<string>("Organization")
                        .HasColumnType("longtext")
                        .HasComment("สังกัด");

                    b.Property<Guid?>("PersonId")
                        .HasColumnType("char(36)")
                        .HasComment("id อ้างอิง profile");

                    b.Property<string>("PosNo")
                        .HasColumnType("longtext")
                        .HasComment("เลขที่ตำแหน่ง");

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

                    b.Property<string>("PositionLevel")
                        .HasColumnType("longtext")
                        .HasComment("ระดับ");

                    b.Property<string>("Prefix")
                        .HasColumnType("longtext")
                        .HasComment("คำนำหน้า");

                    b.Property<double?>("Salary")
                        .HasColumnType("double")
                        .HasComment("เงินเดือน");

                    b.Property<DateTime?>("StartDateSuspend")
                        .HasColumnType("datetime(6)")
                        .HasComment("วันที่สั่งพักราชการ/ให้ออกจากราชการไว้ก่อน");

                    b.Property<string>("Status")
                        .HasColumnType("longtext")
                        .HasComment("สถานะออกคำสั่ง");

                    b.Property<string>("Title")
                        .HasColumnType("text")
                        .HasComment("เรื่องที่ร้องเรียน");

                    b.HasKey("Id");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.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.Domain.Models.Discipline.DisciplineComplaint_Appeal_Doc", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal", "DisciplineComplaint_Appeal")
                        .WithMany("DisciplineComplaint_Appeal_Docs")
                        .HasForeignKey("DisciplineComplaint_AppealId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineComplaint_Appeal");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal_History", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal", "DisciplineComplaint_Appeal")
                        .WithMany("DisciplineComplaint_Appeal_Historys")
                        .HasForeignKey("DisciplineComplaint_AppealId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Doc", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint", "DisciplineComplaint")
                        .WithMany("DisciplineComplaint_Docs")
                        .HasForeignKey("DisciplineComplaintId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineComplaint");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Profile", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint", "DisciplineComplaint")
                        .WithMany("DisciplineComplaint_Profiles")
                        .HasForeignKey("DisciplineComplaintId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineDisciplinarys")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinaryExtend", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinaryExtends")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DirectorInvestigate", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDirector", "DisciplineDirector")
                        .WithMany("DisciplineDisciplinary_DirectorInvestigates")
                        .HasForeignKey("DisciplineDirectorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DirectorInvestigates")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDirector");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocComplaintInvestigate", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocComplaintInvestigates")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigate", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocInvestigates")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigateRelevant", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocInvestigateRelevants")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocOther", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocOthers")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRecordAccuser", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocRecordAccusers")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRelevant", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocRelevants")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocResult", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocResults")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocSummaryEvidence", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocSummaryEvidences")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocWitnesses", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_DocWitnessess")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDisciplinary");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_ProfileComplaintInvestigate", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", "DisciplineDisciplinary")
                        .WithMany("DisciplineDisciplinary_ProfileComplaintInvestigates")
                        .HasForeignKey("DisciplineDisciplinaryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint", "DisciplineComplaint")
                        .WithMany("DisciplineInvestigates")
                        .HasForeignKey("DisciplineComplaintId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigateExtend", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigateExtends")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigateRelevant_Doc", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigateRelevant_Docs")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineInvestigate");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_Director", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineDirector", "DisciplineDirector")
                        .WithMany("DisciplineInvestigate_Directors")
                        .HasForeignKey("DisciplineDirectorId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigate_Directors")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineDirector");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_Doc", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigate_Docs")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineInvestigate");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_DocComplaint", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigate_DocComplaints")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("BMA.EHR.Domain.Models.Discipline.Document", "Document")
                        .WithMany()
                        .HasForeignKey("DocumentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("DisciplineInvestigate");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate_ProfileComplaint", b =>
                {
                    b.HasOne("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", "DisciplineInvestigate")
                        .WithMany("DisciplineInvestigate_ProfileComplaints")
                        .HasForeignKey("DisciplineInvestigateId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint", b =>
                {
                    b.Navigation("DisciplineComplaint_Docs");

                    b.Navigation("DisciplineComplaint_Profiles");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal", b =>
                {
                    b.Navigation("DisciplineComplaint_Appeal_Docs");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDirector", b =>
                {
                    b.Navigation("DisciplineDisciplinary_DirectorInvestigates");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", b =>
                {
                    b.Navigation("DisciplineDisciplinaryExtends");

                    b.Navigation("DisciplineDisciplinary_DirectorInvestigates");

                    b.Navigation("DisciplineDisciplinary_DocComplaintInvestigates");

                    b.Navigation("DisciplineDisciplinary_DocInvestigateRelevants");

                    b.Navigation("DisciplineDisciplinary_DocInvestigates");

                    b.Navigation("DisciplineDisciplinary_DocOthers");

                    b.Navigation("DisciplineDisciplinary_DocRecordAccusers");

                    b.Navigation("DisciplineDisciplinary_DocRelevants");

                    b.Navigation("DisciplineDisciplinary_DocResults");

                    b.Navigation("DisciplineDisciplinary_DocSummaryEvidences");

                    b.Navigation("DisciplineDisciplinary_DocWitnessess");

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

            modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineInvestigate", b =>
                {
                    b.Navigation("DisciplineDisciplinarys");

                    b.Navigation("DisciplineInvestigateExtends");

                    b.Navigation("DisciplineInvestigateRelevant_Docs");

                    b.Navigation("DisciplineInvestigate_Directors");

                    b.Navigation("DisciplineInvestigate_DocComplaints");

                    b.Navigation("DisciplineInvestigate_Docs");

                    b.Navigation("DisciplineInvestigate_ProfileComplaints");
                });
#pragma warning restore 612, 618
        }
    }
}
