diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs
new file mode 100644
index 00000000..1f1e6815
--- /dev/null
+++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineComplaint_AppealController.cs
@@ -0,0 +1,416 @@
+using BMA.EHR.Application.Repositories;
+using BMA.EHR.Application.Repositories.MessageQueue;
+using BMA.EHR.Discipline.Service.Requests;
+using BMA.EHR.Domain.Common;
+using BMA.EHR.Domain.Models.Discipline;
+using BMA.EHR.Domain.Shared;
+using BMA.EHR.Infrastructure.Persistence;
+// using BMA.EHR.Placement.Service.Requests;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using Swashbuckle.AspNetCore.Annotations;
+using System.Security.Claims;
+
+namespace BMA.EHR.DisciplineComplaint_Appeal.Service.Controllers
+{
+ [Route("api/v{version:apiVersion}/discipline/complaint_appeal")]
+ [ApiVersion("1.0")]
+ [ApiController]
+ [Produces("application/json")]
+ [Authorize]
+ [SwaggerTag("ระบบย่อย อุทธรณ์/ร้องทุกข์")]
+ public class DisciplineComplaint_AppealController : BaseController
+ {
+ private readonly DisciplineDbContext _context;
+ private readonly MinIODisciplineService _documentService;
+ private readonly IHttpContextAccessor _httpContextAccessor;
+
+ public DisciplineComplaint_AppealController(DisciplineDbContext context,
+ MinIODisciplineService documentService,
+ IHttpContextAccessor httpContextAccessor)
+ {
+ // _repository = repository;
+ _context = context;
+ _documentService = documentService;
+ _httpContextAccessor = httpContextAccessor;
+ }
+
+ #region " Properties "
+
+ private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
+
+ private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
+
+ #endregion
+
+ ///
+ /// List รายการยื่นอุทธรณ์/ร้องทุกข์ (USER)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("user")]
+ public async Task> GetDisciplineUser(string status = "ALL", string type = "ALL", int year = 0, int page = 1, int pageSize = 25, string keyword = "")
+ {
+ var data_search = (from x in _context.DisciplineComplaint_Appeals
+ where x.Title.Contains(keyword) ||
+ x.Description.Contains(keyword) ||
+ x.CaseType.Contains(keyword) ||
+ x.CaseNumber.Contains(keyword) ||
+ x.Fullname.Contains(keyword) ||
+ x.CitizenId.Contains(keyword)
+ where x.CreatedUserId == UserId
+ select x).ToList();
+ if (status.Trim().ToUpper() != "ALL")
+ data_search = data_search.Where(x => x.Status == status).ToList();
+ if (type.Trim().ToUpper() != "ALL")
+ data_search = data_search.Where(x => x.Type == type).ToList();
+ if (year != 0)
+ data_search = data_search.Where(x => x.Year == year).ToList();
+ var data = data_search
+ .Select(x => new
+ {
+ Id = x.Id,
+ Title = x.Title,
+ Description = x.Description,
+ Status = x.Status,
+ Type = x.Type,
+ Year = x.Year,
+ CaseType = x.CaseType,
+ CaseNumber = x.CaseNumber,
+ Fullname = x.Fullname,
+ CitizenId = x.CitizenId,
+ ProfileId = x.ProfileId,
+ LastUpdatedAt = x.LastUpdatedAt,
+ })
+ .OrderByDescending(x => x.LastUpdatedAt)
+ .Skip((page - 1) * pageSize)
+ .Take(pageSize)
+ .ToList();
+ return Success(new { data, total = data_search.Count() });
+ }
+
+ ///
+ /// รายละเอียดยื่นอุทธรณ์/ร้องทุกข์ (USER/ADMIN)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("{id:guid}")]
+ public async Task> GetByDiscipline(Guid id)
+ {
+ var _data = await _context.DisciplineComplaint_Appeals
+ .Include(x => x.DisciplineComplaint_Appeal_Docs)
+ .Include(x => x.DisciplineComplaint_Appeal_Historys)
+ .Select(x => new
+ {
+ Id = x.Id,
+ Title = x.Title,
+ Description = x.Description,
+ Status = x.Status,
+ Type = x.Type,
+ Year = x.Year,
+ CaseType = x.CaseType,
+ CaseNumber = x.CaseNumber,
+ Fullname = x.Fullname,
+ CitizenId = x.CitizenId,
+ ProfileId = x.ProfileId,
+ LastUpdatedAt = x.LastUpdatedAt,
+ HistoryStatus = x.DisciplineComplaint_Appeal_Historys.Select(p => new
+ {
+ Status = p.Status,
+ CreatedAt = p.CreatedAt,
+ }),
+ DisciplineComplaint_Appeal_Docs = x.DisciplineComplaint_Appeal_Docs.Where(d => d.Document != null).Select(d => new { d.Document.Id, d.Document.FileName }),
+ })
+ .Where(x => x.Id == id)
+ .FirstOrDefaultAsync();
+ if (_data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+ var disciplineComplaint_Appeal_Docs = new List();
+ foreach (var doc in _data.DisciplineComplaint_Appeal_Docs)
+ {
+ var _doc = new
+ {
+ doc.Id,
+ doc.FileName,
+ PathName = await _documentService.ImagesPath(doc.Id)
+ };
+ disciplineComplaint_Appeal_Docs.Add(_doc);
+ }
+ var data = new
+ {
+ _data.Id,
+ _data.Title,
+ _data.Description,
+ _data.Status,
+ _data.Type,
+ _data.Year,
+ _data.CaseType,
+ _data.CaseNumber,
+ _data.Fullname,
+ _data.CitizenId,
+ _data.ProfileId,
+ _data.LastUpdatedAt,
+ _data.HistoryStatus,
+ disciplineComplaint_Appeal_Docs,
+ };
+ return Success(data);
+ }
+
+ ///
+ /// สร้างรายการยื่นอุทธรณ์/ร้องทุกข์ (USER/ADMIN)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPost()]
+ public async Task> CreateDiscipline([FromForm] DisciplineComplaint_AppealRequest req)
+ {
+ var disciplineComplaint_Appeal = new Domain.Models.Discipline.DisciplineComplaint_Appeal
+ {
+ Title = req.Title,
+ Description = req.Description,
+ Status = "NEW",
+ Type = req.Type,
+ Year = req.Year,
+ CaseType = req.CaseType,
+ CaseNumber = req.CaseNumber,
+ Fullname = req.Fullname,
+ CitizenId = req.CitizenId,
+ ProfileId = req.ProfileId,
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ var disciplineComplaint_Appeal_History = new DisciplineComplaint_Appeal_History
+ {
+ DisciplineComplaint_Appeal = disciplineComplaint_Appeal,
+ Status = "NEW",
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ // await _context.DisciplineComplaint_Appeals.AddAsync(disciplineComplaint_Appeal);
+ await _context.DisciplineComplaint_Appeal_Historys.AddAsync(disciplineComplaint_Appeal_History);
+ await _context.SaveChangesAsync();
+ if (Request.Form.Files != null && Request.Form.Files.Count != 0)
+ {
+ foreach (var file in Request.Form.Files)
+ {
+ var fileExtension = Path.GetExtension(file.FileName);
+ var doc = await _documentService.UploadFileAsync(file, file.FileName);
+ var _doc = await _context.Documents.AsQueryable()
+ .FirstOrDefaultAsync(x => x.Id == doc.Id);
+ if (_doc != null)
+ {
+ var disciplineComplaint_Appeal_Doc = new DisciplineComplaint_Appeal_Doc
+ {
+ DisciplineComplaint_Appeal = disciplineComplaint_Appeal,
+ Document = _doc,
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ await _context.DisciplineComplaint_Appeal_Docs.AddAsync(disciplineComplaint_Appeal_Doc);
+ }
+ }
+ }
+ await _context.SaveChangesAsync();
+ return Success();
+ }
+
+ ///
+ /// อัพไฟล์เอกสารอุทธรณ์/ร้องทุกข์
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("file/{id:guid}")]
+ public async Task> UploadFileComplaintAppeals([FromForm] DisciplineFileRequest req, Guid id)
+ {
+ var data = await _context.DisciplineComplaint_Appeals
+ .Where(x => x.Id == id)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
+
+ if (Request.Form.Files != null && Request.Form.Files.Count != 0)
+ {
+ foreach (var file in Request.Form.Files)
+ {
+ var fileExtension = Path.GetExtension(file.FileName);
+ var doc = await _documentService.UploadFileAsync(file, file.FileName);
+ var _doc = await _context.Documents.AsQueryable()
+ .FirstOrDefaultAsync(x => x.Id == doc.Id);
+ if (_doc != null)
+ {
+ var disciplineComplaint_Appeal_Doc = new DisciplineComplaint_Appeal_Doc
+ {
+ DisciplineComplaint_Appeal = data,
+ Document = _doc,
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ await _context.DisciplineComplaint_Appeal_Docs.AddAsync(disciplineComplaint_Appeal_Doc);
+ }
+ }
+ }
+ await _context.SaveChangesAsync();
+ return Success();
+ }
+
+ ///
+ /// ลบไฟล์เอกสารอุทธรณ์/ร้องทุกข์
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpDelete("file/{id:guid}/{docId:guid}")]
+ public async Task> DeleteFileComplaintAppeals(Guid id, Guid docId)
+ {
+ var data = await _context.DisciplineComplaint_Appeals
+ .Include(x => x.DisciplineComplaint_Appeal_Docs)
+ .ThenInclude(x => x.Document)
+ .Where(x => x.Id == id)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), (int)StatusCodes.Status404NotFound);
+ var dataDoc = data.DisciplineComplaint_Appeal_Docs.Where(x => x.Document.Id == docId).FirstOrDefault();
+ if (dataDoc != null)
+ {
+ _context.DisciplineComplaint_Appeal_Docs.Remove(dataDoc);
+ await _context.SaveChangesAsync();
+ var dataDocComplaint = data.DisciplineComplaint_Appeal_Docs.Where(x => x.Document.Id == docId).FirstOrDefault();
+ if (dataDocComplaint == null)
+ {
+ await _documentService.DeleteFileAsync(docId);
+ await _context.SaveChangesAsync();
+ }
+ return Success();
+ }
+ else
+ {
+ return Error(new Exception("ไม่พบไฟล์นี้ในระบบ"), (int)StatusCodes.Status404NotFound);
+ }
+ }
+
+ ///
+ /// List รายการยื่นอุทธรณ์/ร้องทุกข์ (ADMIN)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("admin")]
+ public async Task> GetDisciplineAdmin(string status = "ALL", string type = "ALL", int year = 0, int page = 1, int pageSize = 25, string keyword = "")
+ {
+ var data_search = (from x in _context.DisciplineComplaint_Appeals
+ where x.Title.Contains(keyword) ||
+ x.Description.Contains(keyword) ||
+ x.CaseType.Contains(keyword) ||
+ x.CaseNumber.Contains(keyword) ||
+ x.Fullname.Contains(keyword) ||
+ x.CitizenId.Contains(keyword)
+ select x).ToList();
+ if (status.Trim().ToUpper() != "ALL")
+ data_search = data_search.Where(x => x.Status == status).ToList();
+ if (type.Trim().ToUpper() != "ALL")
+ data_search = data_search.Where(x => x.Type == type).ToList();
+ if (year != 0)
+ data_search = data_search.Where(x => x.Year == year).ToList();
+ var data = data_search
+ .Select(x => new
+ {
+ Id = x.Id,
+ Title = x.Title,
+ Description = x.Description,
+ Status = x.Status,
+ Type = x.Type,
+ Year = x.Year,
+ CaseType = x.CaseType,
+ CaseNumber = x.CaseNumber,
+ Fullname = x.Fullname,
+ CitizenId = x.CitizenId,
+ ProfileId = x.ProfileId,
+ LastUpdatedAt = x.LastUpdatedAt,
+ })
+ .OrderByDescending(x => x.LastUpdatedAt)
+ .Skip((page - 1) * pageSize)
+ .Take(pageSize)
+ .ToList();
+ return Success(new { data, total = data_search.Count() });
+ }
+
+ ///
+ /// แก้ไขรายการยื่นอุทธรณ์/ร้องทุกข์ (ADMIN)
+ ///
+ ///
+ ///
+ /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpPut("{id:guid}")]
+ public async Task> UpdateDiscipline(Guid id, [FromBody] DisciplineComplaint_AppealUpdateRequest req)
+ {
+ var data = await _context.DisciplineComplaint_Appeals
+ .Where(x => x.Id == id)
+ .FirstOrDefaultAsync();
+ if (data == null)
+ return Error(new Exception(GlobalMessages.DataNotFound), StatusCodes.Status404NotFound);
+
+ data.Title = req.Title;
+ data.Description = req.Description;
+ if (data.Status != req.Status.Trim().ToUpper())
+ {
+ var disciplineComplaint_Appeal_History = new DisciplineComplaint_Appeal_History
+ {
+ DisciplineComplaint_Appeal = data,
+ Status = req.Status.Trim().ToUpper(),
+ CreatedFullName = FullName ?? "System Administrator",
+ CreatedUserId = UserId ?? "",
+ CreatedAt = DateTime.Now,
+ LastUpdateFullName = FullName ?? "System Administrator",
+ LastUpdateUserId = UserId ?? "",
+ LastUpdatedAt = DateTime.Now,
+ };
+ await _context.DisciplineComplaint_Appeal_Historys.AddAsync(disciplineComplaint_Appeal_History);
+ }
+ data.Status = req.Status.Trim().ToUpper();
+ data.Type = req.Type;
+ data.Year = req.Year;
+ data.CaseType = req.CaseType;
+ data.CaseNumber = req.CaseNumber;
+ data.LastUpdateFullName = FullName ?? "System Administrator";
+ data.LastUpdateUserId = UserId ?? "";
+ data.LastUpdatedAt = DateTime.Now;
+ await _context.SaveChangesAsync();
+ return Success(data);
+ }
+ }
+}
diff --git a/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealRequest.cs b/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealRequest.cs
new file mode 100644
index 00000000..87ee0f3f
--- /dev/null
+++ b/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealRequest.cs
@@ -0,0 +1,18 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Discipline.Service.Requests
+{
+ public class DisciplineComplaint_AppealRequest
+ {
+ public string? Title { get; set; } = string.Empty;
+ public string? Description { get; set; } = string.Empty;
+ public string Type { get; set; } = string.Empty;
+ public int? Year { get; set; }
+ public string? CaseType { get; set; } = string.Empty;
+ public string? CaseNumber { get; set; } = string.Empty;
+ public Guid ProfileId { get; set; }
+ public string? CitizenId { get; set; }
+ public string? Fullname { get; set; }
+ public List? File { get; set; }
+ }
+}
diff --git a/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealUpdateRequest.cs b/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealUpdateRequest.cs
new file mode 100644
index 00000000..e4ec0fac
--- /dev/null
+++ b/BMA.EHR.Discipline.Service/Requests/DisciplineComplaint_AppealUpdateRequest.cs
@@ -0,0 +1,15 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Discipline.Service.Requests
+{
+ public class DisciplineComplaint_AppealUpdateRequest
+ {
+ public string? Title { get; set; } = string.Empty;
+ public string? Description { get; set; } = string.Empty;
+ public string Type { get; set; } = string.Empty;
+ public int? Year { get; set; }
+ public string? CaseType { get; set; } = string.Empty;
+ public string? CaseNumber { get; set; } = string.Empty;
+ public string Status { get; set; }
+ }
+}
diff --git a/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal.cs b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal.cs
new file mode 100644
index 00000000..02e29aaf
--- /dev/null
+++ b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal.cs
@@ -0,0 +1,45 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using BMA.EHR.Domain.Models.Base;
+using BMA.EHR.Domain.Models.Organizations;
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Domain.Models.Discipline
+{
+ public class DisciplineComplaint_Appeal : EntityBase
+ {
+
+ [Required, Comment("สถานะอุทธรณ์/ร้องทุกข์")]
+ public string Status { get; set; } = string.Empty;
+
+ [Comment("เรื่องที่อุทธรณ์/ร้องทุกข์"), Column(TypeName = "text")]
+ public string? Title { get; set; } = string.Empty;
+
+ [Comment("รายละเอียดของเรื่องอุทธรณ์/ร้องทุกข์"), Column(TypeName = "text")]
+ public string? Description { get; set; } = string.Empty;
+
+ [Required, Comment("ประเภทอุทธรณ์หรือร้องทุกข์")]
+ public string Type { get; set; } = string.Empty;
+
+ [Comment("ปีงบประมาณ")]
+ public int? Year { get; set; }
+
+ [Comment("ประเภทคดี")]
+ public string? CaseType { get; set; } = string.Empty;
+
+ [Comment("คดีเลขที่")]
+ public string? CaseNumber { get; set; } = string.Empty;
+
+ [Required, Comment("ProfileId")]
+ public Guid ProfileId { get; set; }
+
+ [MaxLength(13), Comment("รหัสบัตรประชาชน")]
+ public string? CitizenId { get; set; }
+
+ [Comment("ชื่อ-นามสกุลผู้อุทธรณ์/ร้องทุกข์")]
+ public string? Fullname { get; set; }
+
+ public virtual List DisciplineComplaint_Appeal_Docs { get; set; } = new List();
+ public virtual List DisciplineComplaint_Appeal_Historys { get; set; } = new List();
+ }
+}
diff --git a/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_Doc.cs b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_Doc.cs
new file mode 100644
index 00000000..d7700920
--- /dev/null
+++ b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_Doc.cs
@@ -0,0 +1,16 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using BMA.EHR.Domain.Models.Base;
+using BMA.EHR.Domain.Models.Organizations;
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Domain.Models.Discipline
+{
+ public class DisciplineComplaint_Appeal_Doc : EntityBase
+ {
+ [Required, Comment("อ้างอิงรหัสเอกสาร")]
+ public Document Document { get; set; }
+ [Required, Comment("อ้างอิงเรื่องอุทธรณ์/ร้องทุกข์")]
+ public DisciplineComplaint_Appeal DisciplineComplaint_Appeal { get; set; }
+ }
+}
diff --git a/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_History.cs b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_History.cs
new file mode 100644
index 00000000..8b5b3b74
--- /dev/null
+++ b/BMA.EHR.Domain/Models/Discipline/DisciplineComplaint_Appeal_History.cs
@@ -0,0 +1,17 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using BMA.EHR.Domain.Models.Base;
+using BMA.EHR.Domain.Models.Organizations;
+using Microsoft.EntityFrameworkCore;
+
+namespace BMA.EHR.Domain.Models.Discipline
+{
+ public class DisciplineComplaint_Appeal_History : EntityBase
+ {
+ [Required, Comment("สถานะอุทธรณ์/ร้องทุกข์")]
+ public string Status { get; set; } = string.Empty;
+
+ [Required, Comment("อ้างอิงเรื่องอุทธรณ์/ร้องทุกข์")]
+ public DisciplineComplaint_Appeal DisciplineComplaint_Appeal { get; set; }
+ }
+}
diff --git a/BMA.EHR.Infrastructure/Migrations/DisciplineDb/20231212180648_add table DisciplineComplaint_Appeals.Designer.cs b/BMA.EHR.Infrastructure/Migrations/DisciplineDb/20231212180648_add table DisciplineComplaint_Appeals.Designer.cs
new file mode 100644
index 00000000..75cbd4fc
--- /dev/null
+++ b/BMA.EHR.Infrastructure/Migrations/DisciplineDb/20231212180648_add table DisciplineComplaint_Appeals.Designer.cs
@@ -0,0 +1,11714 @@
+//
+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("20231212180648_add table DisciplineComplaint_Appeals")]
+ partial class addtableDisciplineComplaint_Appeals
+ {
+ ///
+ 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("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Appellant")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ผู้ร้องเรียน");
+
+ b.Property("ComplaintFrom")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รับเรื่องร้องเรียนจาก ระบุว่ารับเรื่องมาจากใคร/หน่วยงานไหน (สตง., ปปช., ปปท., จดหมาย, อีเมล, โทรศัพท์, บอกกล่าว)");
+
+ b.Property("ConsideredAgency")
+ .HasColumnType("char(36)")
+ .HasComment("หน่วยงานที่พิจารณา จะเปลี่ยนไปตามผู้ถูกร้องดูรายละเอียดด้านล่าง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DateConsideration")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่กำหนดพิจารณา");
+
+ b.Property("DateNotification")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันแจ้งเตือนล่วงหน้า");
+
+ b.Property("DateReceived")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่รับเรื่อง เป็นวันที่ถือเป็นจุดเริ่มต้นของวินัยนั้น ๆ");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("รายละเอียดของเรื่องร้องเรียน");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("LevelConsideration")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ระดับการพิจารณา 'ยังไม่ระบุ' (NORMAL คือ ปกติ, URGENT คือ ด่วน, VERY_URGENT คือ ด่วนมาก)");
+
+ b.Property("OffenseDetails")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");
+
+ b.Property("Organization")
+ .HasColumnType("char(36)")
+ .HasComment("กรณีหน่วยงานใส่ id ของหน่วยงาน");
+
+ b.Property("RespondentType")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ผู้ถูกร้องเรียน (PERSON คือ บุคคล, ORGANIZATION คือ หน่วยงาน, BANGKOK คือ กรุงเทพมหานคร)");
+
+ b.Property("Result")
+ .HasColumnType("longtext")
+ .HasComment("ผลการตรวจสอบ");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("สถานะเรื่องร้องเรียน มีดังนี้ ใหม่ (NEW), ยุติเรื่อง (STOP), มีมูลส่งไปสืบสวนแล้ว (SEND_INVESTIGATE)");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("เรื่องที่ร้องเรียน");
+
+ b.HasKey("Id");
+
+ b.ToTable("DisciplineComplaints");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CaseNumber")
+ .HasColumnType("longtext")
+ .HasComment("คดีเลขที่");
+
+ b.Property("CaseType")
+ .HasColumnType("longtext")
+ .HasComment("ประเภทคดี");
+
+ b.Property("CitizenId")
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("รหัสบัตรประชาชน");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("Description")
+ .HasColumnType("text")
+ .HasComment("รายละเอียดของเรื่องอุทธรณ์/ร้องทุกข์");
+
+ b.Property("Fullname")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อ-นามสกุลผู้อุทธรณ์/ร้องทุกข์");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("ProfileId")
+ .HasColumnType("char(36)")
+ .HasComment("ProfileId");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("สถานะอุทธรณ์/ร้องทุกข์");
+
+ b.Property("Title")
+ .HasColumnType("text")
+ .HasComment("เรื่องที่อุทธรณ์/ร้องทุกข์");
+
+ b.Property("Type")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ประเภทอุทธรณ์หรือร้องทุกข์");
+
+ b.Property("Year")
+ .HasColumnType("int")
+ .HasComment("ปีงบประมาณ");
+
+ b.HasKey("Id");
+
+ b.ToTable("DisciplineComplaint_Appeals");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal_Doc", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineComplaint_AppealId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineComplaint_AppealId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineComplaint_Appeal_Docs");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Appeal_History", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineComplaint_AppealId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("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("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อประเภทการร้องเรียน");
+
+ b.HasKey("Id");
+
+ b.ToTable("DisciplineComplaint_Channels");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Doc", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineComplaintId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineComplaintId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineComplaint_Docs");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineComplaint_Profile", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CitizenId")
+ .HasMaxLength(13)
+ .HasColumnType("varchar(13)")
+ .HasComment("รหัสบัตรประชาชน");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineComplaintId")
+ .HasColumnType("char(36)");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("ชื่อ");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("varchar(100)")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Organization")
+ .HasColumnType("longtext")
+ .HasComment("สังกัด");
+
+ b.Property("PersonId")
+ .HasColumnType("char(36)")
+ .HasComment("id อ้างอิง profile");
+
+ b.Property("PosNo")
+ .HasColumnType("longtext")
+ .HasComment("เลขที่ตำแหน่ง");
+
+ b.Property("Position")
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่ง");
+
+ b.Property("PositionLevel")
+ .HasColumnType("longtext")
+ .HasComment("ระดับ");
+
+ b.Property("Prefix")
+ .HasColumnType("longtext")
+ .HasComment("คำนำหน้า");
+
+ b.Property("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("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("อีเมล");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ชื่อ");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("นามสกุล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Phone")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("เบอร์โทรศัพท์");
+
+ b.Property("Position")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ตำแหน่ง");
+
+ b.Property("Prefix")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("คำนำหน้าชื่อ");
+
+ b.HasKey("Id");
+
+ b.ToTable("DisciplineDirectors");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("Appellant")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ผู้ร้องเรียน");
+
+ b.Property("ComplaintFrom")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("รับเรื่องร้องเรียนจาก ระบุว่ารับเรื่องมาจากใคร/หน่วยงานไหน (สตง., ปปช., ปปท., จดหมาย, อีเมล, โทรศัพท์, บอกกล่าว)");
+
+ b.Property("ConsideredAgency")
+ .HasColumnType("char(36)")
+ .HasComment("หน่วยงานที่พิจารณา จะเปลี่ยนไปตามผู้ถูกร้องดูรายละเอียดด้านล่าง");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DateConsideration")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่กำหนดพิจารณา");
+
+ b.Property("DateNotification")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันแจ้งเตือนล่วงหน้า");
+
+ b.Property("DateReceived")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่รับเรื่อง เป็นวันที่ถือเป็นจุดเริ่มต้นของวินัยนั้น ๆ");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasComment("รายละเอียดของเรื่องร้องเรียน");
+
+ b.Property("DisciplinaryCaseFault")
+ .HasColumnType("longtext")
+ .HasComment("กรณีความผิด");
+
+ b.Property("DisciplinaryCauseText")
+ .HasColumnType("longtext")
+ .HasComment("ผลการสอบสวน กรณีมีมูล");
+
+ b.Property("DisciplinaryDateAllegation")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่รับทราบข้อกล่าวหา");
+
+ b.Property("DisciplinaryDateEnd")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สิ้นสุดการสอบสวน");
+
+ b.Property("DisciplinaryDateEvident")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สรุปพยานหลักฐาน");
+
+ b.Property("DisciplinaryDateInvestigation")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่มีคำสั่งให้สอบสวน");
+
+ b.Property("DisciplinaryDateResult")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่รายงานผลการสอบสวน");
+
+ b.Property("DisciplinaryDateStart")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่เริ่มการสอบสวน");
+
+ b.Property("DisciplinaryDaysExtend")
+ .HasColumnType("int")
+ .HasComment("จำนวนวันที่ขยาย");
+
+ b.Property("DisciplinaryExtendStatus")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ขยายเวลา");
+
+ b.Property("DisciplinaryFaultLevel")
+ .HasColumnType("longtext")
+ .HasComment("ระดับโทษความผิด กรณีไม่ร้ายแรง: ภาคทัณฑ์, ตัดเงินเดือน, ลดขั้นเงินเดือน | กรณีร้ายแรง: ปลดออก, ไล่ออก");
+
+ b.Property("DisciplinaryInvestigateAt")
+ .HasColumnType("longtext")
+ .HasComment("สอบสวนที่");
+
+ b.Property("DisciplinaryRecordAccuser")
+ .HasColumnType("longtext")
+ .HasComment("บันทึกถ้อยคำของผู้กล่าวหา");
+
+ b.Property("DisciplinaryRefLaw")
+ .HasColumnType("longtext")
+ .HasComment("อ้างอิงมาตราตามกฎหมาย");
+
+ b.Property("DisciplinaryResult")
+ .HasColumnType("longtext")
+ .HasComment("ผลการสอบสวน เหตุผล");
+
+ b.Property("DisciplinaryStatusResult")
+ .HasColumnType("longtext")
+ .HasComment("ผลการสอบสวน ผล");
+
+ b.Property("DisciplinarySummaryEvidence")
+ .HasColumnType("longtext")
+ .HasComment("สรุปพยานหลักฐานสนับสนุนข้อกล่าวหา");
+
+ b.Property("DisciplinaryWitnesses")
+ .HasColumnType("longtext")
+ .HasComment("พยานและบันทึกถ้อยคำพยาน");
+
+ b.Property("DisciplineInvestigateId")
+ .HasColumnType("char(36)");
+
+ b.Property("InvestigationCauseText")
+ .HasColumnType("longtext")
+ .HasComment("กรณีมีมูลต้องเลือกว่า 'ร้ายแรง' หรือ 'ไม่ร้ายแรง'");
+
+ b.Property("InvestigationDateEnd")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สิ้นสุดการสืบสวน");
+
+ b.Property("InvestigationDateStart")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่เริ่มการสืบสวน");
+
+ b.Property("InvestigationDaysExtend")
+ .HasColumnType("int")
+ .HasComment("จำนวนวันที่ต้องการขยาย");
+
+ b.Property("InvestigationDescription")
+ .HasColumnType("longtext")
+ .HasComment("รายละเอียดเกี่ยวกับการสืบสวน");
+
+ b.Property("InvestigationDetail")
+ .HasColumnType("longtext")
+ .HasComment("ลักษณะการสืบสวน (APPOINT_DIRECTORS คือ แต่งตั้งกรรมการสืบสวน, SECRET_INVESTIGATION คือ สืบสวนทางลับ, OTHER คือ อื่น ๆ)");
+
+ b.Property("InvestigationDetailOther")
+ .HasColumnType("longtext")
+ .HasComment("ลักษณะการสืบสวนกรณีเลือกอื่นๆ");
+
+ b.Property("InvestigationExtendStatus")
+ .HasColumnType("tinyint(1)")
+ .HasComment("ขยายเวลา");
+
+ b.Property("InvestigationStatusResult")
+ .HasColumnType("longtext")
+ .HasComment("สถานะหรือผลการสืบสวน (NOT_SPECIFIED คือ ยังไม่ระบุ, HAVE_CAUSE คือ มีมูล, NO_CAUSE คือ ไม่มีมูล");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("LevelConsideration")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ระดับการพิจารณา 'ยังไม่ระบุ' (NORMAL คือ ปกติ, URGENT คือ ด่วน, VERY_URGENT คือ ด่วนมาก)");
+
+ b.Property("OffenseDetails")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)");
+
+ b.Property("Organization")
+ .HasColumnType("char(36)")
+ .HasComment("กรณีหน่วยงานใส่ id ของหน่วยงาน");
+
+ b.Property("RespondentType")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("ผู้ถูกร้องเรียน (PERSON คือ บุคคล, ORGANIZATION คือ หน่วยงาน, BANGKOK คือ กรุงเทพมหานคร)");
+
+ b.Property("Result")
+ .HasColumnType("longtext")
+ .HasComment("ผลการตรวจสอบ");
+
+ b.Property("ResultComplaint")
+ .HasColumnType("longtext")
+ .HasComment("ผลการตรวจสอบเรื่องร้องเรียน");
+
+ b.Property("ResultDescription")
+ .HasColumnType("longtext")
+ .HasComment("สรุปผลการพิจารณา");
+
+ b.Property("ResultInvestigate")
+ .HasColumnType("longtext")
+ .HasComment("ผลการตรวจสอบเรื่องสืบสวน");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasColumnType("longtext")
+ .HasComment("สถานะเรื่องร้องเรียน มีดังนี้ ใหม่ (NEW), ยุติเรื่อง (STOP), มีมูลส่งไปสืบสวนแล้ว (SEND_INVESTIGATE)");
+
+ b.Property("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("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DateEnd")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่สิ้นสุด");
+
+ b.Property("DateStart")
+ .HasColumnType("datetime(6)")
+ .HasComment("วันที่เริ่ม");
+
+ b.Property("DaysExtend")
+ .HasColumnType("int")
+ .HasComment("จำนวนวันที่การขยาย");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.Property("Name")
+ .HasColumnType("longtext")
+ .HasComment("ชื่อการขยาย");
+
+ b.Property("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("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDirectorId")
+ .HasColumnType("char(36)");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDirectorId");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.ToTable("DisciplineDisciplinary_DirectorInvestigates");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocComplaintInvestigate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocComplaintInvestigates");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocInvestigates");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocInvestigateRelevant", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocInvestigateRelevants");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocOther", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocOthers");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRecordAccuser", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocRecordAccusers");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocRelevant", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocRelevants");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocSummaryEvidence", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)")
+ .HasColumnOrder(0)
+ .HasComment("PrimaryKey")
+ .HasAnnotation("Relational:JsonPropertyName", "id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(100)
+ .HasComment("สร้างข้อมูลเมื่อ");
+
+ b.Property("CreatedFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(104)
+ .HasComment("ชื่อ User ที่สร้างข้อมูล");
+
+ b.Property("CreatedUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(101)
+ .HasComment("User Id ที่สร้างข้อมูล");
+
+ b.Property("DisciplineDisciplinaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("DocumentId")
+ .HasColumnType("char(36)");
+
+ b.Property("LastUpdateFullName")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("varchar(200)")
+ .HasColumnOrder(105)
+ .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdateUserId")
+ .IsRequired()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnOrder(103)
+ .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("datetime(6)")
+ .HasColumnOrder(102)
+ .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DisciplineDisciplinaryId");
+
+ b.HasIndex("DocumentId");
+
+ b.ToTable("DisciplineDisciplinary_DocSummaryEvidences");
+ });
+
+ modelBuilder.Entity("BMA.EHR.Domain.Models.Discipline.DisciplineDisciplinary_DocWitnesses", b =>
+ {
+ b.Property