From b3298e88c6e2bff72cfd92debce1be6ac6bc3d3d Mon Sep 17 00:00:00 2001 From: harid Date: Tue, 21 Apr 2026 10:34:21 +0700 Subject: [PATCH 01/90] fix path separator --- .../Services/RetirementReportService.cs | 117 +++++++----------- 1 file changed, 47 insertions(+), 70 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs b/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs index d3253afd..82bf2b27 100644 --- a/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs +++ b/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs @@ -170,7 +170,7 @@ namespace BMA.EHR.Retirement.Service.Services } else { - // PROD: Disabled local LibreOffice conversion + // // PROD: Disabled local LibreOffice conversion // await ConvertToPdfLocallyAsync(docxPath, pdfPath, timeout); throw new NotSupportedException("LibreOffice conversion is disabled."); } @@ -184,89 +184,66 @@ namespace BMA.EHR.Retirement.Service.Services private async Task ConvertToPdfViaDockerAsync(string docxPath, string pdfPath, int timeout) { - var container = _configuration["LibreOffice:DockerContainer"] ?? "libreoffice"; - var workingDir = _configuration["LibreOffice:WorkingDirectory"] ?? "/app/libreoffice/files"; - var dockerFilesPath = _configuration["LibreOffice:DockerFilesPath"] ?? "/files"; - var arguments = _configuration["LibreOffice:Arguments"] ?? "--headless --convert-to pdf --nologo --norestore"; - - // Ensure working directory exists - if (!Directory.Exists(workingDir)) - { - Directory.CreateDirectory(workingDir); - } - - // Copy file to shared directory + var inputDir = _configuration["LibreOffice:InputDirectory"] ?? "/app/libreoffice/input"; + var outputDir = _configuration["LibreOffice:OutputDirectory"] ?? "/app/libreoffice/output"; var fileName = Path.GetFileName(docxPath); - var sharedDocxPath = Path.Combine(workingDir, fileName); - var sharedPdfName = Path.ChangeExtension(fileName, ".pdf"); - var sharedPdfPath = Path.Combine(workingDir, sharedPdfName); + var pdfName = Path.ChangeExtension(fileName, ".pdf"); - await File.WriteAllBytesAsync(sharedDocxPath, await File.ReadAllBytesAsync(docxPath)); + // Ensure directories exist + Directory.CreateDirectory(inputDir); + Directory.CreateDirectory(outputDir); - // Run LibreOffice inside Docker container - var dockerCmd = $"docker exec {container} libreoffice {arguments} --outdir {dockerFilesPath} {dockerFilesPath}/{fileName}"; - - var isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); - var shell = isWindows ? "cmd.exe" : "/bin/sh"; - var shellArg = isWindows ? "/c" : "-c"; + // Copy file to input folder (LibreOffice watcher will pick it up) + var inputPath = Path.Combine(inputDir, fileName).Replace('\\', '/'); + var outputPath = Path.Combine(outputDir, pdfName).Replace('\\', '/'); - var psi = new ProcessStartInfo + _logger.LogInformation("ðŸ“Ī Sending file to LibreOffice: {FileName}", fileName); + await File.WriteAllBytesAsync(inputPath, await File.ReadAllBytesAsync(docxPath)); + + // Wait for LibreOffice to convert (file watcher handles it) + var stopwatch = System.Diagnostics.Stopwatch.StartNew(); + var pollInterval = TimeSpan.FromMilliseconds(500); + + while (stopwatch.ElapsedMilliseconds < timeout) { - FileName = shell, - Arguments = $"{shellArg} \"{dockerCmd}\"", - UseShellExecute = false, - RedirectStandardOutput = true, - RedirectStandardError = true, - CreateNoWindow = true - }; + if (File.Exists(outputPath)) + { + _logger.LogInformation("✅ PDF received: {PdfName} (took {ElapsedMs}ms)", pdfName, stopwatch.ElapsedMilliseconds); - using var process = Process.Start(psi); - var exited = process.WaitForExit(timeout); + await File.WriteAllBytesAsync(pdfPath, await File.ReadAllBytesAsync(outputPath)); - if (!exited) - { - process.Kill(entireProcessTree: true); - throw new TimeoutException($"LibreOffice Docker conversion timed out after {timeout}ms"); + // Cleanup + try + { + if (File.Exists(outputPath)) File.Delete(outputPath); + _logger.LogDebug("🗑ïļ Cleaned up output file: {PdfName}", pdfName); + } + catch (Exception ex) + { + _logger.LogWarning(ex, "Failed to cleanup output file"); + } + + return; + } + + await Task.Delay(pollInterval); } - if (process.ExitCode != 0) - { - var error = await process.StandardError.ReadToEndAsync(); - throw new Exception($"LibreOffice Docker conversion failed: {error}"); - } - - // Copy result back - if (!File.Exists(sharedPdfPath)) - { - throw new FileNotFoundException($"PDF not generated in shared directory: {sharedPdfPath}"); - } - - await File.WriteAllBytesAsync(pdfPath, await File.ReadAllBytesAsync(sharedPdfPath)); - - // Cleanup shared files - try - { - if (File.Exists(sharedDocxPath)) File.Delete(sharedDocxPath); - if (File.Exists(sharedPdfPath)) File.Delete(sharedPdfPath); - } - catch (Exception ex) - { - _logger.LogWarning(ex, "Failed to cleanup shared files"); - } + throw new TimeoutException($"LibreOffice conversion timed out after {timeout}ms. File not found: {outputPath}"); } - // PROD: Disabled local LibreOffice conversion + // // PROD: Disabled local LibreOffice conversion // private async Task ConvertToPdfLocallyAsync(string docxPath, string pdfPath, int timeout) // { // var libreOfficePath = _configuration["LibreOffice:Path"] ?? GetDefaultLibreOfficePath(); // var arguments = _configuration["LibreOffice:Arguments"] ?? "--headless --convert-to pdf --nologo --norestore"; // var outputDir = Path.GetDirectoryName(pdfPath); - // + // if (string.IsNullOrEmpty(outputDir)) // { // throw new DirectoryNotFoundException("Output directory cannot be determined"); // } - // + // var psi = new ProcessStartInfo // { // FileName = libreOfficePath, @@ -276,16 +253,16 @@ namespace BMA.EHR.Retirement.Service.Services // RedirectStandardError = true, // CreateNoWindow = true // }; - // + // using var process = Process.Start(psi); // var exited = process.WaitForExit(timeout); - // + // if (!exited) // { // process.Kill(entireProcessTree: true); // throw new TimeoutException($"LibreOffice conversion timed out after {timeout}ms"); // } - // + // if (process.ExitCode != 0) // { // var error = await process.StandardError.ReadToEndAsync(); @@ -293,7 +270,7 @@ namespace BMA.EHR.Retirement.Service.Services // } // } - // PROD: Disabled local LibreOffice path detection + // // PROD: Disabled local LibreOffice path detection // private static string GetDefaultLibreOfficePath() // { // if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) @@ -304,11 +281,11 @@ namespace BMA.EHR.Retirement.Service.Services // @"C:\Program Files (x86)\LibreOffice\program\soffice.exe", // @"C:\Program Files\LibreOffice\program\soffice.com" // }; - // + // return possiblePaths.FirstOrDefault(File.Exists) // ?? throw new FileNotFoundException("LibreOffice not found. Please install LibreOffice or configure the path in appsettings.json"); // } - // + // // Linux/Docker: use default path // return "libreoffice"; // } From bb329f86ded9c70d3b1f80267e529f4ac232ef29 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 23 Apr 2026 15:48:20 +0700 Subject: [PATCH 02/90] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20DateSendLeave=20=E0=B9=81=E0=B8=A5=E0=B8=B0?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20Logic=20=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=94=E0=B8=B6=E0=B8=87=E0=B8=84=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=A7=E0=B8=B1=E0=B8=99=E0=B8=97=E0=B8=B5=E0=B9=88?= =?UTF-8?q?=E0=B8=A2=E0=B8=B7=E0=B9=88=E0=B8=99=E0=B8=A5=E0=B8=B2=20#1567?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LeaveRequests/LeaveRequestRepository.cs | 1 + .../Models/Leave/Requests/LeaveRequest.cs | 2 + ...260423083625_Add DateSendLeave.Designer.cs | 1805 +++++++++++++++++ .../20260423083625_Add DateSendLeave.cs | 29 + .../LeaveDb/LeaveDbContextModelSnapshot.cs | 3 + .../Controllers/LeaveReportController.cs | 22 +- .../Controllers/LeaveRequestController.cs | 14 +- 7 files changed, 1858 insertions(+), 18 deletions(-) create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.cs diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 792b57cb..8b1b936f 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -904,6 +904,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests rawData.LeaveStatus = "NEW"; + rawData.DateSendLeave = DateTime.Now; // Update āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ€āļ›āđ‡āļ™āļ§āļąāļ™āļ—āļĩāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™ //rawData.ApproveStep = "st2"; await UpdateAsync(rawData); diff --git a/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequest.cs b/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequest.cs index 69088cbb..f6c9ce2d 100644 --- a/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequest.cs +++ b/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequest.cs @@ -210,5 +210,7 @@ namespace BMA.EHR.Domain.Models.Leave.Requests public Guid? Child4DnaId { get; set; } = Guid.Empty; + public DateTime? DateSendLeave { get; set; } + } } diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs new file mode 100644 index 00000000..8e79c20b --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs @@ -0,0 +1,1805 @@ +ïŧŋ// +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.LeaveDb +{ + [DbContext(typeof(LeaveDbContext))] + [Migration("20260423083625_Add DateSendLeave")] + partial class AddDateSendLeave + { + /// + 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.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Code") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Limit") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļŠāļđāļ‡āļŠāļļāļ”āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("LeaveTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BeginningLeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē"); + + b.Property("BeginningLeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + + b.Property("LeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("LeaveDaysUsed") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + b.Property("LeaveTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveYear") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LeaveTypeId"); + + b.ToTable("LeaveBeginnings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveRequestId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AbsentDayAt") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayGetIn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayLocation") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayRegistorDate") + .HasColumnType("datetime(6)"); + + b.Property("AbsentDaySummon") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("CancelLeaveWrote") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ (āļ‚āļ­āļĒāļāđ€āļĨāļīāļ)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + b.Property("CommanderPosition") + .HasColumnType("longtext"); + + b.Property("CoupleDayCountryHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayEndDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDayLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayLevelCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayPosition") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayStartDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDaySumTotalHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayTotalHistory") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateSendLeave") + .HasColumnType("datetime(6)"); + + b.Property("Dear") + .HasColumnType("longtext") + .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("HajjDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveAddress") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveBirthDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveCancelComment") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveCancelDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveCancelStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("LeaveDetail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļĨāļē"); + + b.Property("LeaveDirectorComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļģāļ™āļ§āļĒāļāļēāļĢāļŠāļģāļ™āļąāļ"); + + b.Property("LeaveDraftDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("LeaveGovernmentDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveLast") + .HasColumnType("datetime(6)"); + + b.Property("LeaveNumber") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveRange") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄ āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveRangeEnd") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ” āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveSalary") + .HasColumnType("int"); + + b.Property("LeaveSalaryText") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("LeaveStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĨāļē"); + + b.Property("LeaveStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļĢāđ‰āļ­āļ‡"); + + b.Property("LeaveSubTypeName") + .HasColumnType("longtext"); + + b.Property("LeaveTotal") + .HasColumnType("double"); + + b.Property("LeaveTypeCode") + .HasColumnType("longtext") + .HasComment("code āļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveWrote") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ"); + + b.Property("OrdainDayBuddhistLentAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayBuddhistLentName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayOrdination") + .HasColumnType("datetime(6)"); + + b.Property("OrdainDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionLevelName") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RestDayCurrentTotal") + .HasColumnType("double"); + + b.Property("RestDayOldTotal") + .HasColumnType("double"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("StudyDayCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayDegreeLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayScholarship") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDaySubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingSubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayUniversityName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.Property("WifeDayDateBorn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("WifeDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("LeaveCancelDocumentId"); + + b.HasIndex("LeaveDraftDocumentId"); + + b.HasIndex("TypeId"); + + b.ToTable("LeaveRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("LeaveRequestId") + .HasColumnType("char(36)"); + + b.Property("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosExecutiveName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionLevelName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionSign") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ•āđ‰āļĨāļēāļĒāđ€āļŠāđ‡āļ™āļ•āđŒ"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveRequestApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckDate") + .HasColumnType("datetime(6)") + .HasComment("*āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("CheckInEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("CheckOutEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđƒāļ™āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("*āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak āļ—āļĩāđˆāļĢāđ‰āļ­āļ‡āļ‚āļ­"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("POI") + .HasColumnType("longtext"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("AdditionalCheckRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AdditionalData") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (JSON)"); + + b.Property("CheckInId") + .HasColumnType("char(36)") + .HasComment("CheckInId āļŠāļģāļŦāļĢāļąāļš Check-Out"); + + b.Property("CheckType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē: CHECK_IN, CHECK_OUT"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("ErrorMessage") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + 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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.Property("TaskId") + .HasColumnType("char(36)") + .HasComment("Task ID āļŠāļģāļŦāļĢāļąāļšāļ•āļīāļ”āļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CheckInJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ"); + + b.Property("EndTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("EndTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ (āđ€āļ›āļīāļ”/āļ›āļīāļ”)"); + + b.Property("IsDefault") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ§āđˆāļēāļĢāļ­āļšāđƒāļ”āđ€āļ›āđ‡āļ™āļ„āđˆāļē Default āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ (āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ­āļš)"); + + 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("StartTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("StartTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("DutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("ErrorMessage") + .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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Root DNA Id"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.HasKey("Id"); + + b.ToTable("LeaveProcessJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckInStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("CheckOutStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("EditReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("EditStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ‚āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("ProcessUserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Calendar") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļāļīāļ—āļīāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ āļ‚āļĢāļ āļ›āļāļ•āļī āļŦāļĢāļ·āļ­ 6 āļ§āļąāļ™āļ•āđˆāļ­āļŠāļąāļ›āļ”āļēāļŦāđŒ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("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("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("UserCalendars"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("EffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĄāļĩāļœāļĨ"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DutyTimeId"); + + b.ToTable("UserDutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("UserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "LeaveType") + .WithMany() + .HasForeignKey("LeaveTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("LeaveDocument") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveCancelDocument") + .WithMany() + .HasForeignKey("LeaveCancelDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveDraftDocument") + .WithMany() + .HasForeignKey("LeaveDraftDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "Type") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveCancelDocument"); + + b.Navigation("LeaveDraftDocument"); + + b.Navigation("Type"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("Approvers") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", "DutyTime") + .WithMany() + .HasForeignKey("DutyTimeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DutyTime"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Navigation("Approvers"); + + b.Navigation("LeaveDocument"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.cs new file mode 100644 index 00000000..02d58933 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.cs @@ -0,0 +1,29 @@ +ïŧŋusing System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations.LeaveDb +{ + /// + public partial class AddDateSendLeave : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "DateSendLeave", + table: "LeaveRequests", + type: "datetime(6)", + nullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "DateSendLeave", + table: "LeaveRequests"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs index 4e384f55..887d4f97 100644 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs @@ -428,6 +428,9 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.Property("DateAppoint") .HasColumnType("datetime(6)"); + b.Property("DateSendLeave") + .HasColumnType("datetime(6)"); + b.Property("Dear") .HasColumnType("longtext") .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 7e4b7b56..e726aabd 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -182,7 +182,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -272,7 +272,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -366,7 +366,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -461,7 +461,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -515,7 +515,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -602,7 +602,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -683,7 +683,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -786,7 +786,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -905,7 +905,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -1001,7 +1001,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "", dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(), @@ -1227,7 +1227,7 @@ namespace BMA.EHR.Leave.Service.Controllers data = new { leaveWrote = data.CancelLeaveWrote!.ToThaiNumber() ?? "", - dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), + dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(), leaveTypeName = data.Type.Name, fullname = fullName, position = string.IsNullOrEmpty(profile.Position) ? "-" : profile.Position, diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index bbf49dc8..f47e6a41 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1324,7 +1324,7 @@ namespace BMA.EHR.Leave.Service.Controllers Id = d.Id, LeaveTypeId = d.Type.Id, LeaveTypeName = d.Type.Name, - DateSendLeave = d.CreatedAt.Date, + DateSendLeave = d.DateSendLeave != null ? d.DateSendLeave.Value.Date : d.CreatedAt.Date, Status = d.LeaveStatus, FullName = $"{d.Prefix}{d.FirstName} {d.LastName}", LeaveEndDate = d.LeaveEndDate, @@ -1481,7 +1481,7 @@ namespace BMA.EHR.Leave.Service.Controllers Id = d.Id, LeaveTypeId = d.Type.Id, LeaveTypeName = d.Type.Name, - DateSendLeave = d.CreatedAt.Date, + DateSendLeave = d.DateSendLeave != null ? d.DateSendLeave.Value.Date : d.CreatedAt.Date, Status = d.LeaveStatus, FullName = $"{d.Prefix}{d.FirstName} {d.LastName}", LeaveEndDate = d.LeaveEndDate, @@ -1534,7 +1534,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveTypeName = item.Type.Name, LeaveSubTypeName = item.LeaveSubTypeName ?? "", FullName = $"{item.Prefix}{item.FirstName} {item.LastName}", - DateSendLeave = item.CreatedAt, + DateSendLeave = item.DateSendLeave ?? item.CreatedAt, IsDelete = item.LeaveStatus == "DELETE", Status = item.LeaveStatus, LeaveStartDate = item.LeaveStartDate, @@ -1709,7 +1709,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveSubTypeName = rawData.LeaveSubTypeName, LeaveTypeId = rawData.Type.Id, FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}", - DateSendLeave = rawData.CreatedAt, + DateSendLeave = rawData.DateSendLeave ?? rawData.CreatedAt, Status = rawData.LeaveStatus, LeaveStartDate = rawData.LeaveStartDate, LeaveEndDate = rawData.LeaveEndDate, @@ -1982,7 +1982,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveSubTypeName = item.LeaveSubTypeName, FullName = $"{item.Prefix}{item.FirstName} {item.LastName}", ProfileType = item.ProfileType ?? "-", - DateSendLeave = item.CreatedAt, + DateSendLeave = item.DateSendLeave ?? item.CreatedAt, Status = item.LeaveStatus, CitizenId = item.CitizenId ?? "", LeaveStartDate = item.LeaveStartDate, @@ -2275,7 +2275,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveSubTypeName = item.LeaveSubTypeName, ProfileType = item.ProfileType ?? "-", FullName = $"{item.Prefix}{item.FirstName} {item.LastName}", - DateSendLeave = item.CreatedAt.Date, + DateSendLeave = item.DateSendLeave != null ? item.DateSendLeave.Value.Date : item.CreatedAt.Date, Status = item.LeaveCancelStatus ?? "" }; result.Add(res); @@ -2848,7 +2848,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveSubTypeName = rawData.LeaveSubTypeName, LeaveTypeId = rawData.Type.Id, FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}", - DateSendLeave = rawData.CreatedAt, + DateSendLeave = rawData.DateSendLeave ?? rawData.CreatedAt, Status = rawData.LeaveStatus, LeaveStartDate = rawData.LeaveStartDate, LeaveEndDate = rawData.LeaveEndDate, From d58c7dc07efc7f5fc0f8aa65e229ad4cff5c9239 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 23 Apr 2026 19:11:54 +0700 Subject: [PATCH 03/90] =?UTF-8?q?Logic=20=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=99=E0=B8=A7=E0=B8=99=E0=B8=A7=E0=B8=B1?= =?UTF-8?q?=E0=B8=99=E0=B8=A5=E0=B8=B2=20=E0=B9=81=E0=B8=9A=E0=B8=9A?= =?UTF-8?q?=E0=B8=A3=E0=B9=88=E0=B8=B2=E0=B8=87=20=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B8=B0=20=E0=B8=99=E0=B8=B0=E0=B8=AB=E0=B8=A7=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=87=E0=B8=9E=E0=B8=B4=E0=B8=88=E0=B8=B2=E0=B8=93?= =?UTF-8?q?=E0=B8=B2=20#1567?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LeaveRequests/LeaveRequestRepository.cs | 63 +++++++++++++++++-- .../Controllers/LeaveRequestController.cs | 25 ++++++-- .../GetLeaveRequestForAdminByIdDto.cs | 4 ++ .../GetUserLeaveProfileResultDto.cs | 3 + 4 files changed, 84 insertions(+), 11 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 8b1b936f..54f1488d 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -354,7 +354,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var rawData = _dbContext.Set().AsNoTracking() .Include(x => x.Type) .Where(x => x.LeaveStatus != "DRAFT") - .OrderByDescending(x => x.CreatedAt) + .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt)) .AsQueryable(); if (year != 0) @@ -380,7 +380,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var rawData = _dbContext.Set().AsNoTracking() .Include(x => x.Type) .Where(x => x.LeaveStatus != "DRAFT") - .OrderByDescending(x => x.CreatedAt) + .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt)) .AsQueryable(); // fix issue : 1830 if (year != 0) @@ -447,7 +447,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => keycloakIdList.Contains(x.KeycloakUserId)) .Where(x => x.LeaveStatus != "DRAFT") - .OrderByDescending(x => x.CreatedAt) + .OrderByDescending(x =>(x.DateSendLeave ?? x.CreatedAt)) .AsQueryable(); if (year != 0) @@ -574,12 +574,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) //.Where(x => x.LeaveStartDate.Date < beforeDate.Date) - .Where(x => x.CreatedAt < beforeDate) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < beforeDate) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") - .OrderByDescending(x => x.CreatedAt) + .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt)) .FirstOrDefaultAsync(); return data; @@ -1877,7 +1877,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => x.CreatedAt.Date >= startDate && x.CreatedAt < endDate) + .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1888,6 +1888,57 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } + /// + /// āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļĢāđˆāļēāļ‡āļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļĒāļ·āđˆāļ™ + /// + /// + /// + /// + /// + /// + public async Task GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.KeycloakUserId == keycloakUserId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate + && (x.DateSendLeave ?? x.CreatedAt).Date < endDate) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "DRAFT") + .ToListAsync(); + + if (data.Count > 0) + return data.Sum(x => x.LeaveTotal); + else + return 0; + } + + /// + /// āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāļĒāļ·āđˆāļ™āđāļĨāđ‰āļ§āļĢāļ­āļžāļīāļˆāļēāļĢāļ“āļē + /// + /// + /// + /// + /// + /// + public async Task GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.KeycloakUserId == keycloakUserId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "NEW") + .ToListAsync(); + + if (data.Count > 0) + return data.Sum(x => x.LeaveTotal); + else + return 0; + } + public async Task GetCountApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { var data = await _dbContext.Set().AsQueryable().AsNoTracking() diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index f47e6a41..4a28e6b9 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -855,10 +855,10 @@ namespace BMA.EHR.Leave.Service.Controllers { var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); - var thisYear = DateTime.Now.Year; + var thisYear = DateTime.Now.Year - 1; var toDay = DateTime.Now.Date; - var startFiscalDate = new DateTime(DateTime.Now.Year, 10, 1); - var endFiscalDate = new DateTime(DateTime.Now.Year + 1, 9, 30); + var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1); + var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30); if (toDay >= startFiscalDate && toDay <= endFiscalDate) thisYear = thisYear + 1; @@ -925,6 +925,9 @@ namespace BMA.EHR.Leave.Service.Controllers var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type); + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate); + var result = new GetUserLeaveProfileResultDto { DateSendLeave = DateTime.Now.Date, @@ -960,7 +963,10 @@ namespace BMA.EHR.Leave.Service.Controllers CurrentDistrict = profile.CurrentDistrict ?? "", CurrentProvince = profile.CurrentProvince ?? "", CurrentZipCode = profile.CurrentZipCode ?? "", - GovAge = govAge + GovAge = govAge, + + LeaveDraftSummary = leaveDraftSummary, + LeaveWaitingSummary = leaveWaitingSummary }; return Success(result); @@ -2824,7 +2830,13 @@ namespace BMA.EHR.Leave.Service.Controllers var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1); var endFiscalYear = rawData.CreatedAt; + var endFiscalYear2 = new DateTime(rawData.LeaveStartDate.Year, 9, 30); var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear); + + // āļ§āļąāļ™āļĨāļēāđāļšāļšāļĢāđˆāļēāļ‡āđāļĨāļ°āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ„āļ›āđāļĨāđ‰āļ§ + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2); + //var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed; if (leaveData != null) leaveSummary += leaveData.BeginningLeaveDays; @@ -2938,7 +2950,10 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveLimit = rawData.Type.Limit + extendLeave, LeaveSummary = leaveSummary, - LeaveRemain = (rawData.Type.Limit + extendLeave) - leaveSummary + LeaveRemain = (rawData.Type.Limit + extendLeave) - leaveSummary, + + LeaveDraftSummary = leaveDraftSummary, + LeaveWaitingSummary = leaveWaitingSummary }; if (rawData.LeaveDocument != null && rawData.LeaveDocument.Count > 0) diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs index 88dfe7da..e9bae1bd 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs @@ -147,6 +147,10 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest public List Approvers { get; set; } = new(); public Guid? KeycloakUserId { get; set; } = Guid.Empty; + + + public double LeaveDraftSummary { get; set; } = 0; + public double LeaveWaitingSummary { get; set; } = 0; } public class GetLeaveApproverDto diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetUserLeaveProfileResultDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetUserLeaveProfileResultDto.cs index e64b5ac3..a59eab85 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetUserLeaveProfileResultDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetUserLeaveProfileResultDto.cs @@ -53,5 +53,8 @@ public string? CurrentZipCode { get; set; } public int GovAge { get; set; } = 0; + + public double LeaveDraftSummary { get; set; } = 0; + public double LeaveWaitingSummary { get; set; } = 0; } } From 2d4116d79a767f8af22c1e89b2f0a94159f3a86c Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 28 Apr 2026 11:14:40 +0700 Subject: [PATCH 04/90] =?UTF-8?q?BROHTER=20=E0=B9=80=E0=B8=9B=E0=B8=A5?= =?UTF-8?q?=E0=B8=B5=E0=B9=88=E0=B8=A2=E0=B8=99=E0=B9=80=E0=B8=9B=E0=B9=87?= =?UTF-8?q?=E0=B8=99=20BROTHER?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index c77bad95..c148089e 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -1886,7 +1886,7 @@ namespace BMA.EHR.Leave.Service.Controllers ? profileAdmin?.RootDnaId : ""; } - else if (role == "BROHTER") + else if (role == "BROTHER") { nodeId = profileAdmin?.Node == 4 ? profileAdmin?.Child3DnaId From d8039379ad7b50a80f6c57dbdc793ce6514b68a6 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 28 Apr 2026 11:32:04 +0700 Subject: [PATCH 05/90] change dc constr to use tunnel --- BMA.EHR.Leave/appsettings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Leave/appsettings.json b/BMA.EHR.Leave/appsettings.json index ee356491..7c098db0 100644 --- a/BMA.EHR.Leave/appsettings.json +++ b/BMA.EHR.Leave/appsettings.json @@ -23,9 +23,9 @@ "ExamConnection": "Server=192.168.1.63;User ID=root;Password=12345678;Port=3306;Database=hrms_exam;Allow User Variables=True;Convert Zero Datetime=True;Pooling=True;", "LeaveConnection": "Server=192.168.1.63;User ID=root;Password=12345678;Port=3306;Database=hrms_leave;Allow User Variables=True;Convert Zero Datetime=True;Pooling=True;" - // "DefaultConnection": "server=172.27.17.68;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", - // "ExamConnection": "server=172.27.17.68;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", - // "LeaveConnection": "server=172.27.17.68;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;" + // "DefaultConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", + // "ExamConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", + // "LeaveConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;" }, "Jwt": { "Key": "j7C9RO_p4nRtuwCH4z9Db_A_6We42tkD_p4lZtDrezc", From 1379dab5567abac23d4fd0b005c683457a5b077c Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 28 Apr 2026 15:42:41 +0700 Subject: [PATCH 06/90] fix issue #2441 --- .../Controllers/LeaveReportController.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index e726aabd..1d9bf465 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -1533,17 +1533,21 @@ namespace BMA.EHR.Leave.Service.Controllers coupleCount = coupleCount, therapyCount = therapyCount, - leaveTotal = sickCount + - maternityCount + - wifeCount + - personalCount + - restCount + - ordainCount + - absentCount + - studyCount + - agencyCount + - coupleCount + - therapyCount + // āļĢāļ°āļšāļšāļ™āļąāļšāļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡ āļ§āļąāļ™āļĨāļēāļžāļąāļāļœāđˆāļ­āļ™āļ”āđ‰āļ§āļĒ āļ‹āļķāđˆāļ‡āļ•āļēāļĄāļĢāļ°āđ€āļšāļĩāļĒāļšāđ„āļĄāđˆāđƒāļŦāđ‰āļ™āļąāļšāļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ§āļąāļ™āļĨāļēāļžāļąāļāļœāđˆāļ­āļ™āļ„āļĢāļąāļš āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļąāļšāđ€āļ‰āļžāļēāļ° āļ›āđˆāļ§āļĒ āļāļąāļš āļāļīāļˆ + leaveTotal = sickCount + + personalCount + + // leaveTotal = sickCount + + // maternityCount + + // wifeCount + + // personalCount + + // restCount + + // ordainCount + + // absentCount + + // studyCount + + // agencyCount + + // coupleCount + + // therapyCount }; From 361ded207836eda891b2b1d283b6115f3cc0f01f Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 28 Apr 2026 15:56:19 +0700 Subject: [PATCH 07/90] fix issue #2444 --- .../Leaves/LeaveRequests/LeaveRequestRepository.cs | 2 +- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 54f1488d..751011b1 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1877,7 +1877,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 1d9bf465..8ced9487 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -156,8 +156,8 @@ namespace BMA.EHR.Leave.Service.Controllers await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync2(data.KeycloakUserId, data.Type.Id, data.CreatedAt); - var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1); - var endFiscalYear = data.CreatedAt; + var startFiscalYear = (new DateTime(data.LeaveStartDate.Year - 1, 10, 1)).Date; + var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt).Date; var thisYear = data.LeaveStartDate.Year; var toDay = data.LeaveStartDate.Date; From a173a7dc3c34deae5b28ceb18418e60f4a352baf Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 29 Apr 2026 09:57:26 +0700 Subject: [PATCH 08/90] fix CheckInConsumer Memery Falult --- BMA.EHR.CheckInConsumer/Dockerfile | 22 ++++++ BMA.EHR.CheckInConsumer/Program.cs | 111 ++++++++++++++--------------- 2 files changed, 74 insertions(+), 59 deletions(-) diff --git a/BMA.EHR.CheckInConsumer/Dockerfile b/BMA.EHR.CheckInConsumer/Dockerfile index 1c90d6f2..93046386 100644 --- a/BMA.EHR.CheckInConsumer/Dockerfile +++ b/BMA.EHR.CheckInConsumer/Dockerfile @@ -48,6 +48,28 @@ RUN dotnet build -c Release -o /app/build # āđƒāļŠāđ‰ stage āđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ runtime FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime +# GC Configuration āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ Segmentation Fault +# āđƒāļŠāđ‰ Server GC āļŠāļģāļŦāļĢāļąāļš performance āļ—āļĩāđˆāļ”āļĩāļ‚āļķāđ‰āļ™ +ENV DOTNET_SERVER_GARBAGECOLLECTION=true +# āļ•āļąāđ‰āļ‡āļ„āđˆāļē GC mode āđ€āļ›āđ‡āļ™ Server +ENV DOTNET_GCServer=true +# āļˆāļģāļāļąāļ”āļˆāļģāļ™āļ§āļ™ GC heap (āļ›āđ‰āļ­āļ‡āļāļąāļ™ memory fragmentation) +ENV DOTNET_GCHeapCount=16 +# āđ€āļ›āļīāļ”āđƒāļŠāđ‰ GC hard limit āļ›āđ‰āļ­āļ‡āļāļąāļ™ memory over-commit +ENV DOTNET_GCHeapHardLimit=268435456 +# āļ•āļąāđ‰āļ‡āļ„āđˆāļē GC latency mode āđ€āļ›āđ‡āļ™ LowLatency (āļĨāļ”āđ€āļ§āļĨāļēāļ—āļĩāđˆ GC block threads) +ENV DOTNET_GCLatencyMode=0 +# āđ€āļžāļīāđˆāļĄāļ‚āļ™āļēāļ” LOH (Large Object Heap) āđ€āļžāļ·āđˆāļ­āļĨāļ”āļāļēāļĢ realloc +ENV DOTNET_GCLargeObjectHeapCompactionMode=2 +# āļ•āļąāđ‰āļ‡āļ„āđˆāļē ThreadPool Min Threads āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ thread starvation +ENV DOTNET_TP_MinThreads=10 +ENV DOTNET_TP_MaxThreads=100 +# āļ›āđ‰āļ­āļ‡āļāļąāļ™ hang āļˆāļēāļ HTTP requests +ENV DOTNET_HTTP_SOCKETS_BUFFER_SIZE=65536 +# āđ€āļžāļīāđˆāļĄ stack size āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ stack overflow +ENV DOTNET_ThreadPool_LowWaterMark=10 +ENV DOTNET_ThreadPool_HighWaterMark=100 + # āļāļģāļŦāļ™āļ” working directory āļŠāļģāļŦāļĢāļąāļš runtime WORKDIR /app diff --git a/BMA.EHR.CheckInConsumer/Program.cs b/BMA.EHR.CheckInConsumer/Program.cs index 0ae439cf..b2fa41f3 100644 --- a/BMA.EHR.CheckInConsumer/Program.cs +++ b/BMA.EHR.CheckInConsumer/Program.cs @@ -1,4 +1,4 @@ -ïŧŋusing Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Configuration; using RabbitMQ.Client; using RabbitMQ.Client.Events; using System.Text; @@ -21,77 +21,84 @@ var queue = configuration["Rabbit:Queue"] ?? "basic-queue"; // create connection var factory = new ConnectionFactory() { - //Uri = new Uri("amqp://admin:P@ssw0rd@192.168.4.11:5672") - HostName = host,// āļŦāļĢāļ·āļ­ hostname āļ‚āļ­āļ‡ RabbitMQ Server āļ—āļĩāđˆāļ„āļļāļ“āđƒāļŠāđ‰ - UserName = user, // āđƒāļŠāđˆāļŠāļ·āđˆāļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ‚āļ­āļ‡āļ„āļļāļ“ - Password = pass // āđƒāļŠāđˆāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ‚āļ­āļ‡āļ„āļļāļ“ + HostName = host, + UserName = user, + Password = pass, + DispatchConsumersAsync = true }; using var connection = factory.CreateConnection(); using var channel = connection.CreateModel(); -//channel.QueueDeclare(queue: "bma-checkin-queue", durable: true, exclusive: false, autoDelete: false, arguments: null); channel.QueueDeclare(queue: queue, durable: true, exclusive: false, autoDelete: false, arguments: null); +// Create a SINGLE static HttpClient instance to prevent socket exhaustion +using var httpClient = new HttpClient(); +httpClient.Timeout = TimeSpan.FromSeconds(300); // 5 āļ™āļēāļ—āļĩ + var consumer = new EventingBasicConsumer(channel); consumer.Received += async (model, ea) => { - var body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - await CallRestApi(message); + try + { + var body = ea.Body.ToArray(); + var message = Encoding.UTF8.GetString(body); - // convert string into object - //var request = JsonConvert.DeserializeObject(message); - //using (var db = new ApplicationDbContext()) - //{ - // var item = new AttendantItem - // { - // Name = request.Name, - // CheckInDateTime = request.CheckInDateTime, - // }; - // db.AttendantItems.Add(item); - // db.SaveChanges(); + //WriteToConsole($"āđ„āļ”āđ‰āļĢāļąāļšāļ„āļģāļ‚āļ­āļˆāļēāļ Queue: {message}"); - // WriteToConsole($"āđ„āļ”āđ‰āļĢāļąāļšāļ„āļģāļ‚āļ­āļˆāļēāļ Queue: {message}"); - // WriteToConsole($"āļ•āļ­āļšāļāļĨāļąāļšāļˆāļēāļ REST API: {JsonConvert.SerializeObject(item)}"); - //} - - WriteToConsole($"āđ„āļ”āđ‰āļĢāļąāļšāļ„āļģāļ‚āļ­āļˆāļēāļ Queue: {message}"); - //WriteToConsole($"āļ•āļ­āļšāļāļĨāļąāļšāļˆāļēāļ REST API: {JsonConvert.SerializeObject(item)}"); + await CallRestApi(message, httpClient, configuration); + } + catch (Exception ex) + { + WriteToConsole($"Error processing message: {ex.Message}"); + } }; -//channel.BasicConsume(queue: "bma-checkin-queue", autoAck: true, consumer: consumer); channel.BasicConsume(queue: queue, autoAck: true, consumer: consumer); -//Console.WriteLine("\nPress 'Enter' to exit the process..."); +WriteToConsole("Consumer started. Waiting for messages..."); +// Keep the application running await Task.Delay(-1); static void WriteToConsole(string message) { - Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} : {message}"); + Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} : {message}"); } -async Task CallRestApi(string requestData) +static async Task CallRestApi(string requestData, HttpClient client, IConfiguration configuration) { - using var client = new HttpClient(); - var apiPath = $"{configuration["API"]}/leave/process-check-in"; - - var content = new StringContent(requestData, Encoding.UTF8, "application/json"); - - var response = await client.PostAsync(apiPath, content); - - if (response.IsSuccessStatusCode) + try { - var responseContent = await response.Content.ReadAsStringAsync(); - WriteToConsole(responseContent); + var apiPath = $"{configuration["API"]}/leave/process-check-in"; + var content = new StringContent(requestData, Encoding.UTF8, "application/json"); + + var response = await client.PostAsync(apiPath, content); + + if (response.IsSuccessStatusCode) + { + var responseContent = await response.Content.ReadAsStringAsync(); + //WriteToConsole($"Success: {responseContent}"); + } + else + { + var errorMessage = await response.Content.ReadAsStringAsync(); + var res = JsonSerializer.Deserialize(errorMessage); + WriteToConsole($"API Error: {res?.Message ?? "Unknown error"}"); + } } - else + catch (HttpRequestException ex) { - var errorMessage = await response.Content.ReadAsStringAsync(); - var res = JsonSerializer.Deserialize(errorMessage); - WriteToConsole($"Error: {res.Message}"); + WriteToConsole($"HTTP Error: {ex.Message}"); + } + catch (TaskCanceledException ex) + { + WriteToConsole($"Timeout: {ex.Message}"); + } + catch (Exception ex) + { + WriteToConsole($"Unexpected Error: {ex.Message}"); } } @@ -110,28 +117,14 @@ public class ResponseObject public class CheckTimeDtoRB { public Guid? CheckInId { get; set; } - - public double Lat { get; set; } = 0; - - public double Lon { get; set; } = 0; - - public string POI { get; set; } = string.Empty; - - public bool IsLocation { get; set; } = true; - public string? LocationName { get; set; } = string.Empty; - public string? Remark { get; set; } = string.Empty; - public Guid? UserId { get; set; } - public DateTime? CurrentDate { get; set; } - public string? CheckInFileName { get; set; } - public byte[]? CheckInFileBytes { get; set; } -} \ No newline at end of file +} From e4bcfee80ca926a19ca85281a978d22e7181fd17 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 29 Apr 2026 11:45:46 +0700 Subject: [PATCH 09/90] fix issue #2448 --- .../Leaves/LeaveRequests/LeaveRequestRepository.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 751011b1..e58cb0f9 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1902,8 +1902,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate - && (x.DateSendLeave ?? x.CreatedAt).Date < endDate) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate + && (x.DateSendLeave ?? x.CreatedAt).Date < endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "DRAFT") .ToListAsync(); @@ -1928,7 +1928,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "NEW") .ToListAsync(); From ffcf95c210ce83d0e4faebf33e5784dd9041276b Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 30 Apr 2026 11:20:52 +0700 Subject: [PATCH 10/90] change docker file --- BMA.EHR.CheckInConsumer/Dockerfile | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/BMA.EHR.CheckInConsumer/Dockerfile b/BMA.EHR.CheckInConsumer/Dockerfile index 93046386..1c90d6f2 100644 --- a/BMA.EHR.CheckInConsumer/Dockerfile +++ b/BMA.EHR.CheckInConsumer/Dockerfile @@ -48,28 +48,6 @@ RUN dotnet build -c Release -o /app/build # āđƒāļŠāđ‰ stage āđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ runtime FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime -# GC Configuration āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ Segmentation Fault -# āđƒāļŠāđ‰ Server GC āļŠāļģāļŦāļĢāļąāļš performance āļ—āļĩāđˆāļ”āļĩāļ‚āļķāđ‰āļ™ -ENV DOTNET_SERVER_GARBAGECOLLECTION=true -# āļ•āļąāđ‰āļ‡āļ„āđˆāļē GC mode āđ€āļ›āđ‡āļ™ Server -ENV DOTNET_GCServer=true -# āļˆāļģāļāļąāļ”āļˆāļģāļ™āļ§āļ™ GC heap (āļ›āđ‰āļ­āļ‡āļāļąāļ™ memory fragmentation) -ENV DOTNET_GCHeapCount=16 -# āđ€āļ›āļīāļ”āđƒāļŠāđ‰ GC hard limit āļ›āđ‰āļ­āļ‡āļāļąāļ™ memory over-commit -ENV DOTNET_GCHeapHardLimit=268435456 -# āļ•āļąāđ‰āļ‡āļ„āđˆāļē GC latency mode āđ€āļ›āđ‡āļ™ LowLatency (āļĨāļ”āđ€āļ§āļĨāļēāļ—āļĩāđˆ GC block threads) -ENV DOTNET_GCLatencyMode=0 -# āđ€āļžāļīāđˆāļĄāļ‚āļ™āļēāļ” LOH (Large Object Heap) āđ€āļžāļ·āđˆāļ­āļĨāļ”āļāļēāļĢ realloc -ENV DOTNET_GCLargeObjectHeapCompactionMode=2 -# āļ•āļąāđ‰āļ‡āļ„āđˆāļē ThreadPool Min Threads āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ thread starvation -ENV DOTNET_TP_MinThreads=10 -ENV DOTNET_TP_MaxThreads=100 -# āļ›āđ‰āļ­āļ‡āļāļąāļ™ hang āļˆāļēāļ HTTP requests -ENV DOTNET_HTTP_SOCKETS_BUFFER_SIZE=65536 -# āđ€āļžāļīāđˆāļĄ stack size āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™ stack overflow -ENV DOTNET_ThreadPool_LowWaterMark=10 -ENV DOTNET_ThreadPool_HighWaterMark=100 - # āļāļģāļŦāļ™āļ” working directory āļŠāļģāļŦāļĢāļąāļš runtime WORKDIR /app From 4e2113eef203cf9355881310cdf3f863b21ba7bb Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 30 Apr 2026 11:53:53 +0700 Subject: [PATCH 11/90] fix consumer from Event to AsyncEvent --- BMA.EHR.CheckInConsumer/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.CheckInConsumer/Program.cs b/BMA.EHR.CheckInConsumer/Program.cs index b2fa41f3..eaba4b4b 100644 --- a/BMA.EHR.CheckInConsumer/Program.cs +++ b/BMA.EHR.CheckInConsumer/Program.cs @@ -36,7 +36,7 @@ channel.QueueDeclare(queue: queue, durable: true, exclusive: false, autoDelete: using var httpClient = new HttpClient(); httpClient.Timeout = TimeSpan.FromSeconds(300); // 5 āļ™āļēāļ—āļĩ -var consumer = new EventingBasicConsumer(channel); +var consumer = new AsyncEventingBasicConsumer(channel); consumer.Received += async (model, ea) => { From b5025c382f48ba664cbce3c979f31187696174b0 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 30 Apr 2026 14:24:42 +0700 Subject: [PATCH 12/90] =?UTF-8?q?fix=20=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=E0=B9=80=E0=B8=81=E0=B8=A9=E0=B8=B5?= =?UTF-8?q?=E0=B8=A2=E0=B8=93=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=83=E0=B8=AB?= =?UTF-8?q?=E0=B9=89=E0=B9=81=E0=B8=AA=E0=B8=94=E0=B8=87=E0=B8=AA=E0=B8=B3?= =?UTF-8?q?=E0=B8=99=E0=B8=B1=E0=B8=81=20#2261?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/RetirementReportService.cs | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs b/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs index 82bf2b27..48e301be 100644 --- a/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs +++ b/BMA.EHR.Retirement.Service/Services/RetirementReportService.cs @@ -126,6 +126,10 @@ namespace BMA.EHR.Retirement.Service.Services if (IsSingleParagraphFormat(rows)) return new SingleParagraphTableStrategy(); + // retire-1 format: 2 rows, 3 columns (root row + data row per profile) + if (IsTwoRowPerProfileFormat(rows)) + return new TwoRowPerProfileTableStrategy(); + // retire-3 format: 2+ rows (header + template) return new MultiRowTableStrategy(); } @@ -135,6 +139,11 @@ namespace BMA.EHR.Retirement.Service.Services rows[0].Elements().Count() == 1 && rows[0].Elements().First().Elements().Count() == 1; + private static bool IsTwoRowPerProfileFormat(List rows) => + rows.Count == 2 && + rows[0].Elements().Count() == 3 && + rows[1].Elements().Count() == 3; + #endregion #region PDF Conversion @@ -634,5 +643,56 @@ namespace BMA.EHR.Retirement.Service.Services } } + internal class TwoRowPerProfileTableStrategy : ITableStrategy + { + public void Process(Table table, List rows, System.Collections.IEnumerable profiles) + { + // retire-1 format: 2 rows per profile (root row + data row) + var rootRow = rows[0]; + var dataRow = rows[1]; + + // Remove template rows from table + rootRow.Remove(); + dataRow.Remove(); + + var profileList = profiles.Cast().ToList(); + + foreach (var profile in profileList) + { + var props = profile.GetType() + .GetProperties() + .Where(p => p.GetIndexParameters().Length == 0) + .ToList(); + + // Check root value - skip root row if empty or null + var rootValue = props.FirstOrDefault(p => p.Name.Equals("root", StringComparison.OrdinalIgnoreCase)) + ?.GetValue(profile)?.ToString() ?? string.Empty; + + // Clone root row and fill with placeholders (only if root has value) + if (!string.IsNullOrWhiteSpace(rootValue)) + { + var newRootRow = (TableRow)rootRow.CloneNode(true); + foreach (var prop in props) + { + var value = prop.GetValue(profile)?.ToString() ?? string.Empty; + var placeholder = $"{{{{{prop.Name}}}}}"; + TextReplacer.ReplaceInRow(newRootRow, placeholder, value); + } + table.AppendChild(newRootRow); + } + + // Clone data row and fill with placeholders (always show) + var newDataRow = (TableRow)dataRow.CloneNode(true); + foreach (var prop in props) + { + var value = prop.GetValue(profile)?.ToString() ?? string.Empty; + var placeholder = $"{{{{{prop.Name}}}}}"; + TextReplacer.ReplaceInRow(newDataRow, placeholder, value); + } + table.AppendChild(newDataRow); + } + } + } + #endregion } From fb3cb2aa949ddc66a6dbf08507dbebc19c7503d4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 30 Apr 2026 22:02:59 +0700 Subject: [PATCH 13/90] =?UTF-8?q?=E0=B8=AA=E0=B8=B4=E0=B9=88=E0=B8=87?= =?UTF-8?q?=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit autoAck: false - āđ„āļĄāđˆ ack āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ•āđ‰āļ­āļ‡āļĢāļ­ process āđ€āļŠāļĢāđ‡āļˆāļāđˆāļ­āļ™ Manual Ack/Nack: BasicAck āđ€āļĄāļ·āđˆāļ­ API return success BasicNack (reject) āđ€āļĄāļ·āđˆāļ­ API return error (401, 500, etc.) āļŦāļĢāļ·āļ­ exception CallRestApi return bool - āļšāļ­āļāļ§āđˆāļēāļŠāļģāđ€āļĢāđ‡āļˆāļŦāļĢāļ·āļ­āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ Better logging - āđāļŠāļ”āļ‡ status code āđāļĨāļ° error message āļŠāļąāļ”āđ€āļˆāļ™āļ‚āļķāđ‰āļ™ āļ•āļ­āļ™āļ™āļĩāđ‰āđ€āļĄāļ·āđˆāļ­ API return 401 āļŦāļĢāļ·āļ­ error āļ­āļ·āđˆāļ™: āļˆāļ° log error āļžāļĢāđ‰āļ­āļĄ status code Message āļˆāļ°āļ–āļđāļ reject (āđ„āļĄāđˆ requeue) Consumer āļˆāļ°āļ—āļģāļ‡āļēāļ™āļ•āđˆāļ­āļĢāļąāļš message āļ–āļąāļ”āđ„āļ›āđ€āļĨāļĒ (āđ„āļĄāđˆāļ„āđ‰āļēāļ‡) --- BMA.EHR.CheckInConsumer/Program.cs | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/BMA.EHR.CheckInConsumer/Program.cs b/BMA.EHR.CheckInConsumer/Program.cs index eaba4b4b..95dac001 100644 --- a/BMA.EHR.CheckInConsumer/Program.cs +++ b/BMA.EHR.CheckInConsumer/Program.cs @@ -45,17 +45,29 @@ consumer.Received += async (model, ea) => var body = ea.Body.ToArray(); var message = Encoding.UTF8.GetString(body); - //WriteToConsole($"āđ„āļ”āđ‰āļĢāļąāļšāļ„āļģāļ‚āļ­āļˆāļēāļ Queue: {message}"); + WriteToConsole($"Received message: {message}"); - await CallRestApi(message, httpClient, configuration); + var success = await CallRestApi(message, httpClient, configuration); + + if (success) + { + channel.BasicAck(ea.DeliveryTag, multiple: false); + WriteToConsole("Message processed successfully"); + } + else + { + channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false); + WriteToConsole("Message processing failed - message rejected"); + } } catch (Exception ex) { WriteToConsole($"Error processing message: {ex.Message}"); + channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false); } }; -channel.BasicConsume(queue: queue, autoAck: true, consumer: consumer); +channel.BasicConsume(queue: queue, autoAck: false, consumer: consumer); WriteToConsole("Consumer started. Waiting for messages..."); @@ -67,7 +79,7 @@ static void WriteToConsole(string message) Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} : {message}"); } -static async Task CallRestApi(string requestData, HttpClient client, IConfiguration configuration) +static async Task CallRestApi(string requestData, HttpClient client, IConfiguration configuration) { try { @@ -79,26 +91,31 @@ static async Task CallRestApi(string requestData, HttpClient client, IConfigurat if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); - //WriteToConsole($"Success: {responseContent}"); + WriteToConsole($"API Success: {responseContent}"); + return true; } else { var errorMessage = await response.Content.ReadAsStringAsync(); var res = JsonSerializer.Deserialize(errorMessage); - WriteToConsole($"API Error: {res?.Message ?? "Unknown error"}"); + WriteToConsole($"API Error ({response.StatusCode}): {res?.Message ?? errorMessage}"); + return false; } } catch (HttpRequestException ex) { WriteToConsole($"HTTP Error: {ex.Message}"); + return false; } catch (TaskCanceledException ex) { WriteToConsole($"Timeout: {ex.Message}"); + return false; } catch (Exception ex) { WriteToConsole($"Unexpected Error: {ex.Message}"); + return false; } } From 2bdb8bb73345fb35a1e1d9dadb281ba0d6e9cbd7 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 1 May 2026 10:23:27 +0700 Subject: [PATCH 14/90] =?UTF-8?q?=E0=B8=81=E0=B8=97=E0=B8=A1.=20=E0=B8=95?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=87=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=9E?= =?UTF-8?q?=E0=B8=B4=E0=B9=88=E0=B8=A1=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=A5=E0=B8=87=E0=B9=80=E0=B8=A7=E0=B8=A5?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=E0=B8=AD=E0=B8=81=E0=B8=AA=E0=B8=96=E0=B8=B2?= =?UTF-8?q?=E0=B8=99=E0=B8=B0=E0=B8=97=E0=B8=B5=E0=B9=88=20"=E0=B8=9B?= =?UTF-8?q?=E0=B8=8F=E0=B8=B4=E0=B8=9A=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=87?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=E0=B9=83=E0=B8=99=E0=B8=88=E0=B8=B8=E0=B8=94?= =?UTF-8?q?=E0=B8=9A=E0=B8=A3=E0=B8=B4=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=94?= =?UTF-8?q?=E0=B9=88=E0=B8=A7=E0=B8=99=E0=B8=A1=E0=B8=AB=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=E0=B8=84=E0=B8=A3"=20=E0=B8=81=E0=B8=B3=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B8=94=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=2010.30-18.30=20?= =?UTF-8?q?=E0=B8=99.=20#2458?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index c148089e..1dca793e 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -1086,6 +1086,12 @@ namespace BMA.EHR.Leave.Service.Controllers startTime1 = "13:00"; endTime1 = "14:30"; endTimeMorning1 = "12:00"; + } + else if (!data.IsLocation && data.LocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ") + { + startTime1 = "13:00"; + endTime1 = "18:30"; + endTimeMorning1 = "12:00"; } else { @@ -1252,6 +1258,12 @@ namespace BMA.EHR.Leave.Service.Controllers var startTime = ""; var endTime = ""; if (!data.IsLocation && data.LocationName == "āđ„āļ›āļ›āļĢāļ°āļŠāļļāļĄ / āļ­āļšāļĢāļĄ / āļŠāļąāļĄāļĄāļ™āļē") + { + //startTime = "09:30"; + startTime = "10:30"; + endTime = "12:00"; + } + else if (!data.IsLocation && data.LocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ") { //startTime = "09:30"; startTime = "10:30"; @@ -1403,6 +1415,12 @@ namespace BMA.EHR.Leave.Service.Controllers startTime = "13:00"; endTime = "14:30"; endTimeMorning = "12:00"; + } + else if (!data.IsLocation && data.LocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ") + { + startTime = "13:00"; + endTime = "18:30"; + endTimeMorning = "12:00"; } else { @@ -4130,6 +4148,10 @@ namespace BMA.EHR.Leave.Service.Controllers if (req.CheckInStatus == "NORMAL") { if(data.CheckInLocationName == "āđ„āļ›āļ›āļĢāļ°āļŠāļļāļĄ / āļ­āļšāļĢāļĄ / āļŠāļąāļĄāļĄāļ™āļē") + { + data.CheckIn = DateTime.Parse($"{data.CheckIn.Date.ToString("yyyy-MM-dd")} 10:30"); + } + else if (data.CheckInLocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ") { data.CheckIn = DateTime.Parse($"{data.CheckIn.Date.ToString("yyyy-MM-dd")} 10:30"); } @@ -4147,6 +4169,10 @@ namespace BMA.EHR.Leave.Service.Controllers if(data.CheckOutLocationName == "āđ„āļ›āļ›āļĢāļ°āļŠāļļāļĄ / āļ­āļšāļĢāļĄ / āļŠāļąāļĄāļĄāļ™āļē") { roundCheckOutTime = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} 14:30"); + } + else if (data.CheckInLocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ") + { + roundCheckOutTime = DateTime.Parse($"{checkOutTime.Date.ToString("yyyy-MM-dd")} 18:30"); } else { From 5b0fcd0680d8257652a34b2e645a58fa273facd8 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 1 May 2026 11:20:15 +0700 Subject: [PATCH 15/90] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B9=80=E0=B8=9B=E0=B9=87=E0=B8=99?= =?UTF-8?q?=20process=20=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B8=84=E0=B8=A7?= =?UTF-8?q?=E0=B8=A3=E0=B8=9A=E0=B8=B1=E0=B8=99=E0=B8=97=E0=B8=B6=E0=B8=81?= =?UTF-8?q?=E0=B8=95=E0=B8=B2=E0=B8=A1=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1?= =?UTF-8?q?=E0=B8=9A=20#224?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/DisciplineResultController.cs | 154 ++++++++++++------ .../Controllers/PlacementController.cs | 51 ++++-- .../Controllers/PlacementOfficerController.cs | 32 ++-- .../Controllers/PlacementReceiveController.cs | 16 +- .../PlacementRepatriationController.cs | 16 +- .../PlacementTransferController.cs | 16 +- .../Controllers/RetirementOtherController.cs | 32 ++-- .../Controllers/RetirementOutController.cs | 16 +- .../Controllers/RetirementResignController.cs | 35 ++-- .../RetirementResignEmployeeController.cs | 35 ++-- 10 files changed, 260 insertions(+), 143 deletions(-) diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs index 85388209..5301a5ae 100644 --- a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs +++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs @@ -1013,6 +1013,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1061,8 +1066,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers var _result = await _res.Content.ReadAsStringAsync(); if (_res.IsSuccessStatusCode) { - // āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ - data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + //// āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ + // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); var _profile = new List(); DateTime _date = DateTime.Now; foreach (var item in data) @@ -1150,6 +1155,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1198,8 +1208,8 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers var _result = await _res.Content.ReadAsStringAsync(); if (_res.IsSuccessStatusCode) { - // āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ - data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + //// āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ + // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); var _profile = new List(); DateTime _date = DateTime.Now; foreach (var item in data) @@ -1379,6 +1389,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers // .Where(x => x.Status == "REPORT") .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1424,12 +1439,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.Status = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -1518,6 +1533,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers // .Where(x => x.Status == "REPORT") .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1563,12 +1583,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.Status = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -1641,6 +1661,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1686,12 +1711,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -1764,6 +1789,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1809,12 +1839,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -1887,6 +1917,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1932,12 +1967,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -2010,6 +2045,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2055,12 +2095,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -2133,6 +2173,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Include(x => x.DisciplineDisciplinary) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2178,12 +2223,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -2272,6 +2317,11 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers // .Where(x => x.IsReport == "REPORT") .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.IsReport = "DONE"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2317,12 +2367,12 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.IsReport = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.IsReport = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } var data1 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index fbb6e2de..39b7fc63 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2541,6 +2541,11 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementProfiles .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2590,12 +2595,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -2777,6 +2782,11 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementProfiles .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2826,12 +2836,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } @@ -2998,6 +3008,11 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementProfiles .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -3047,12 +3062,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + //// await _context.SaveChangesAsync(); + //// } } return Success(); } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index c2033280..e05f03f3 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -758,6 +758,17 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementOfficers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var firstRef = req.refIds.FirstOrDefault(); + var commandNoText = firstRef != null ? $"{firstRef.commandNo}/{firstRef.commandYear.ToThaiYear()}" : null; + foreach (var profile in data) + { + profile.Status = "DONE"; + profile.commandNo = commandNoText; + } + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -809,17 +820,16 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - //data.ForEach(profile => profile.Status = "DONE"); - foreach (var profile in data) - { - profile.Status = "DONE"; - profile.commandNo = resultData.Count > 0 ? $"{resultData[0].commandNo}/{resultData[0].commandYear.ToThaiYear()}" : null; - } - await _context.SaveChangesAsync(); - } + //// var _result = await _res.Content.ReadAsStringAsync(); + //// if (_res.IsSuccessStatusCode) + //// { + //// foreach (var profile in data) + //// { + //// profile.Status = "DONE"; + //// profile.commandNo = resultData.Count > 0 ? $"{resultData[0].commandNo}/{resultData[0].commandYear.ToThaiYear()}" : null; + //// } + //// await _context.SaveChangesAsync(); + //// } } return Success(); } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index ab8a508e..87d7b68a 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -1124,6 +1124,10 @@ namespace BMA.EHR.Placement.Service.Controllers .Include(x => x.Avatar) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1223,12 +1227,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index 5f5668b7..26da4786 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -623,6 +623,10 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementRepatriations .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -675,12 +679,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index 3514e4a5..d7e62306 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -1094,6 +1094,10 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementTransfers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1146,12 +1150,12 @@ namespace BMA.EHR.Placement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 04a01f77..588ccabe 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -845,6 +845,10 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOthers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -914,12 +918,12 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } @@ -1090,6 +1094,10 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOthers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1159,12 +1167,12 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index ce8b0452..a8c9d8e2 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -642,6 +642,10 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOuts .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -701,12 +705,12 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 147f1adb..ea791129 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -2861,6 +2861,10 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementResigns .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2915,12 +2919,12 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } @@ -3060,6 +3064,11 @@ namespace BMA.EHR.Retirement.Service.Controllers .Include(x => x.RetirementResign) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -3120,13 +3129,13 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); + // // await _context.SaveChangesAsync(); + // // } } //} //else diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 5ad00538..7db20848 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -2361,6 +2361,10 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementResignEmployees .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2413,12 +2417,12 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // await _context.SaveChangesAsync(); + // // } } return Success(); } @@ -2556,6 +2560,11 @@ namespace BMA.EHR.Retirement.Service.Controllers .Include(x => x.RetirementResignEmployee) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); + await _context.SaveChangesAsync(); + string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2615,13 +2624,13 @@ namespace BMA.EHR.Retirement.Service.Controllers { data = resultData, }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); - await _context.SaveChangesAsync(); - } + // // var _result = await _res.Content.ReadAsStringAsync(); + // // if (_res.IsSuccessStatusCode) + // // { + // // data.ForEach(profile => profile.Status = "DONE"); + // // data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); + // // await _context.SaveChangesAsync(); + // // } } //} //else From 740a9984c95e8b2a758ba5cf8390297d47214227 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 1 May 2026 11:20:44 +0700 Subject: [PATCH 16/90] fix #2456 --- BMA.EHR.Leave/Controllers/LeaveController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 1dca793e..01da5781 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3873,6 +3873,7 @@ namespace BMA.EHR.Leave.Service.Controllers { resultCheckInDate = checkInData == null ? null : checkInData.CheckIn; resultCheckInTime = checkInData == null ? "00:00" : checkInData.CheckIn.ToString("HH:mm"); + resultCheckInLocation = checkInData == null ? "" : checkInData!.CheckInPOI; } if (data.CheckOutEdit) @@ -3890,6 +3891,7 @@ namespace BMA.EHR.Leave.Service.Controllers resultCheckOutTime = checkInData == null ? "00:00" : checkInData.CheckOut == null ? "00:00" : checkInData.CheckOut.Value.ToString("HH:mm"); + resultCheckOutLocation = checkInData == null ? "" : checkInData!.CheckOutPOI; } From 4bd46d13e53d8d041acdec245e38587446e55d18 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 1 May 2026 16:38:47 +0700 Subject: [PATCH 17/90] fix issue --- .../LeaveRequests/LeaveRequestRepository.cs | 4 +- .../Controllers/LeaveRequestController.cs | 3 +- README.md | 210 ++++++++++++++++++ 3 files changed, 214 insertions(+), 3 deletions(-) create mode 100644 README.md diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index e58cb0f9..f9a7f58a 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1928,9 +1928,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) < endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) - .Where(x => x.LeaveStatus == "NEW") + .Where(x => (x.LeaveStatus == "NEW" || x.LeaveStatus == "PENDING")) .ToListAsync(); if (data.Count > 0) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index daa2c07c..9ba54be1 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -2835,8 +2835,9 @@ namespace BMA.EHR.Leave.Service.Controllers var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, rawData.Type.Id, rawData.KeycloakUserId); var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1); - var endFiscalYear = rawData.CreatedAt; + var endFiscalYear = rawData.DateSendLeave ?? rawData.CreatedAt; var endFiscalYear2 = new DateTime(rawData.LeaveStartDate.Year, 9, 30); + //var endFiscalYear3 = rawData.DateSendLeave ?? rawData.CreatedAt; var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear); // āļ§āļąāļ™āļĨāļēāđāļšāļšāļĢāđˆāļēāļ‡āđāļĨāļ°āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ„āļ›āđāļĨāđ‰āļ§ diff --git a/README.md b/README.md new file mode 100644 index 00000000..074e828b --- /dev/null +++ b/README.md @@ -0,0 +1,210 @@ +# BMA.EHR - HRMS API Backend + +āļĢāļ°āļšāļšāļšāļĢāļīāļŦāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ—āļĢāļąāļžāļĒāļēāļāļĢāļšāļļāļ„āļ„āļĨ (Human Resource Management System) āļžāļąāļ’āļ™āļēāļ”āđ‰āļ§āļĒāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Microservices āļšāļ™ .NET + +--- + +## Tech Stack + +| Category | Technology | +| ----------------- | ----------------------------- | +| Framework | .NET 6.0 / 7.0 / 8.0 | +| Architecture | Clean Architecture, DDD, CQRS | +| Database | MySQL (Entity Framework Core) | +| Authentication | JWT + Keycloak | +| Message Queue | RabbitMQ | +| Object Storage | MinIO | +| Background Jobs | Hangfire | +| Logging | Serilog + Elasticsearch | +| Error Tracking | Sentry | +| API Documentation | Swagger / OpenAPI | +| Containerization | Docker | +| Testing | xUnit, k6 (Load Testing) | + +--- + +## āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ (Project Structure) + +``` +BMA.EHR.Solution.sln +├── src/ # Core Libraries +│ ├── BMA.EHR.Domain/ # Domain layer (Entities, Business Rules) +│ ├── BMA.EHR.Application/ # Application layer (Use Cases, Interfaces) +│ └── BMA.EHR.Infrastructure/ # Infrastructure layer (Data Access, External Services) +│ +└── Service/ # Microservices + ├── BMA.EHR.Command.Service/ # Command/CQRS API Gateway + ├── BMA.EHR.MetaData.Service/ # āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē, āļŦāļĄāļđāđˆāđ€āļĨāļ·āļ­āļ”, āļĻāļēāļŠāļ™āļē āļŊāļĨāļŊ) + ├── BMA.EHR.Placement.Service/ # āļāļēāļĢāļšāļĢāļīāļˆāļēāļ„/āļŠāļąāđˆāļ‡āļĒāđ‰āļēāļĒ/āđāļ•āđˆāļ‡āļ•āļąāđ‰āļ‡ + ├── BMA.EHR.OrganizationEmployee.Service/ # āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ­āļ‡āļ„āđŒāļāļĢāđāļĨāļ°āļšāļļāļ„āļĨāļēāļāļĢ + ├── BMA.EHR.Discipline.Service/ # āļāļēāļĢ discipline āļšāļļāļ„āļĨāļēāļāļĢ + ├── BMA.EHR.Retirement.Service/ # āļāļēāļĢāđ€āļāļĐāļĩāļĒāļ“āļ­āļēāļĒāļļāļĢāļēāļŠāļāļēāļĢ + ├── BMA.EHR.Report.Service/ # āļĢāļēāļĒāļ‡āļēāļ™ + ├── BMA.EHR.Insignia/ # āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļ­āļīāļŠāļĢāļīāļĒāļēāļ āļĢāļ“āđŒ + ├── BMA.EHR.Leave/ # āļĢāļ°āļšāļšāļĨāļē + └── BMA.EHR.CheckInConsumer/ # āļĨāļ‡āđ€āļ§āļĨāļēāļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™ +``` + +--- + +## āđ‚āļĄāļ”āļđāļĨāļŦāļĨāļąāļ (Key Modules) + +### āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāļ—āļĢāļąāļžāļĒāļēāļāļĢāļšāļļāļ„āļ„āļĨ + +- **Placement Service** - āļŠāļąāđˆāļ‡āļĒāđ‰āļēāļĒ, āđāļ•āđˆāļ‡āļ•āļąāđ‰āļ‡, āđ€āļĨāļ·āđˆāļ­āļ™āļ•āļģāđāļŦāļ™āđˆāļ‡, āđ‚āļ­āļ™āļĒāđ‰āļēāļĒāļšāļļāļ„āļĨāļēāļāļĢ +- **Organization Employee Service** - āļˆāļąāļ”āļāļēāļĢāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ­āļ‡āļ„āđŒāļāļĢ, āļ•āļģāđāļŦāļ™āđˆāļ‡, āļ‚āđ‰āļ­āļĄāļđāļĨāļšāļļāļ„āļĨāļēāļāļĢ +- **Leave Service** - āļāļēāļĢāļĨāļēāļ‡āļēāļ™, āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī, āļ§āļąāļ™āļŦāļĒāļļāļ”āļ™āļąāļāļ‚āļąāļ•āļĪāļāļĐāđŒ, āļĒāļ­āļ”āļ§āļąāļ™āļĨāļēāļ„āļ‡āđ€āļŦāļĨāļ·āļ­ +- **Discipline Service** - āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ discipline, āļāļēāļĢāļŠāļ·āļšāļŠāļ§āļ™, āđ€āļ­āļāļŠāļēāļĢāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ +- **Retirement Service** - āļāļēāļĢāđ€āļāļĐāļĩāļĒāļ“āļ­āļēāļĒāļļ, āđ€āļ­āļāļŠāļēāļĢ, āļŠāļīāļ—āļ˜āļīāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ +- **Insignia Service** - āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļ­āļīāļŠāļĢāļīāļĒāļēāļ āļĢāļ“āđŒāđāļĨāļ°āļĢāļēāļ‡āļ§āļąāļĨ +- **CheckIn Consumer** - āļ•āļīāļ”āļ•āļēāļĄāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™ + +### āļĢāļ°āļšāļšāļŠāļ™āļąāļšāļŠāļ™āļļāļ™ + +- **Metadata Service** - āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­, āļŦāļĄāļđāđˆāđ€āļĨāļ·āļ­āļ”, āļĻāļēāļŠāļ™āļē, āļĢāļ°āļ”āļąāļšāļāļēāļĢāļĻāļķāļāļĐāļē āļŊāļĨāļŊ) +- **Report Service** - āļŠāļĢāđ‰āļēāļ‡āļĢāļēāļĒāļ‡āļēāļ™ PDF/Excel +- **Command Service** - API Gateway āļŠāļģāļŦāļĢāļąāļš CQRS command operations + +### āļŸāļĩāđ€āļˆāļ­āļĢāđŒāđ€āļ”āđˆāļ™ + +- **Real-time Notifications** - āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļœāđˆāļēāļ™ WebSocket +- **Background Processing** - āļ‡āļēāļ™āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ§āļĨāļēāļœāđˆāļēāļ™ Hangfire +- **Event-Driven Communication** - āļŠāļ·āđˆāļ­āļŠāļēāļĢāļĢāļ°āļŦāļ§āđˆāļēāļ‡ services āļœāđˆāļēāļ™ RabbitMQ +- **Document Generation** - āļŠāļĢāđ‰āļēāļ‡āđ€āļ­āļāļŠāļēāļĢ PDF/Excel +- **Audit Trail** - āļšāļąāļ™āļ—āļķāļāļ›āļĢāļ°āļ§āļąāļ•āļīāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ” + +--- + +## API Endpoints + +API āđƒāļŠāđ‰ versioning āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ”āļđāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ„āļ”āđ‰āļœāđˆāļēāļ™ Swagger UI: + +``` +/api/v1/placement # āļāļēāļĢāļšāļĢāļīāļˆāļēāļ„/āļŠāļąāđˆāļ‡āļĒāđ‰āļēāļĒ/āđāļ•āđˆāļ‡āļ•āļąāđ‰āļ‡ +/api/v1/leave # āļĢāļ°āļšāļšāļĨāļē +/api/v1/discipline # āļāļēāļĢ discipline +/api/v1/organization # āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ­āļ‡āļ„āđŒāļāļĢ +/api/v1/metadata # āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ +/api/v1/retirement # āļāļēāļĢāđ€āļāļĐāļĩāļĒāļ“āļ­āļēāļĒāļļ +/api/v1/insignia # āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļ­āļīāļŠāļĢāļīāļĒāļēāļ āļĢāļ“āđŒ +/api/v1/reports # āļĢāļēāļĒāļ‡āļēāļ™ +``` + +--- + +## Getting Started + +### Prerequisites + +- .NET SDK 6.0 / 7.0 / 8.0 +- MySQL Server +- Keycloak (Authentication Server) +- RabbitMQ +- MinIO (Object Storage) +- Docker (āļŠāļģāļŦāļĢāļąāļš deployment) + +### Configuration + +āđāļ•āđˆāļĨāļ° service āļĄāļĩāđ„āļŸāļĨāđŒ `appsettings.json` āļŠāļģāļŦāļĢāļąāļš config āļ”āļąāļ‡āļ™āļĩāđ‰: + +- **JWT Authentication** - āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļš Keycloak +- **Database Connection** - MySQL connection string +- **RabbitMQ** - Message queue connection +- **MinIO** - File storage endpoint +- **Elasticsearch** - Logging endpoint +- **Mail Server** - āļŠāļģāļŦāļĢāļąāļšāļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨ + +### Build & Run + +```bash +# Restore dependencies +dotnet restore + +# Build solution +dotnet build + +# Run specific service +dotnet run --project Service/BMA.EHR.Command.Service +``` + +### Docker + +```bash +# Build Docker image +docker build -t bma-ehr-service . + +# Run container +docker run -d -p 5000:80 bma-ehr-service +``` + +--- + +## Architecture + +``` +┌──────────────┐ ┌──────────────┐ ┌──────────────┐ +│ Swagger │ │ Client │ │ WebSocket │ +│ UI │ │ Apps │ │ Clients │ +└──────┮───────┘ └──────┮───────┘ └──────┮───────┘ + │ │ │ + └────────────────────┾────────────────────┘ + │ + ┌────────▾────────┐ + │ API Gateway │ + │ (Keycloak JWT) │ + └────────┮────────┘ + │ + ┌────────────────────┾────────────────────┐ + │ │ │ +┌──────▾──────┐ ┌────────▾──────┐ ┌────────▾──────┐ +│ Placement │ │ Leave │ │ Discipline │ +│ Service │ │ Service │ │ Service │ +└──────┮──────┘ └────────┮──────┘ └────────┮──────┘ + │ │ │ + └────────────────────┾────────────────────┘ + │ + ┌─────────────▾──────────────┐ + │ MySQL Database │ + │ (Entity Framework) │ + └────────────────────────────┘ + + ┌────────────────────────────┐ + │ RabbitMQ / MinIO / │ + │ Elasticsearch / Hangfire │ + └────────────────────────────┘ +``` + +--- + +## Dependencies āļ—āļĩāđˆāļŠāļģāļ„āļąāļ + +| Package | āļŦāļ™āđ‰āļēāļ—āļĩāđˆ | +| --------------------- | ------------------------- | +| Entity Framework Core | ORM āļŠāļģāļŦāļĢāļąāļš MySQL | +| Serilog | Structured Logging | +| Swashbuckle | API Documentation | +| Hangfire | Background Job Processing | +| EPPlus | āļŠāļĢāđ‰āļēāļ‡/āļ­āđˆāļēāļ™āđ„āļŸāļĨāđŒ Excel | +| iTextSharp | āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒ PDF | +| RabbitMQ.Client | Message Queue | +| NEST | Elasticsearch Client | +| ThaiBahtText | āđāļ›āļĨāļ‡āļ•āļąāļ§āđ€āļĨāļ‚āđ€āļ›āđ‡āļ™āļŦāļ™āđˆāļ§āļĒāļšāļēāļ—āđ„āļ—āļĒ | +| NodaTime | Date/Time Handling | +| Sentry | Error Tracking | + +--- + +## Testing + +```bash +# Run unit tests +dotnet test + +# Run with coverage +dotnet test --collect:"XPlat Code Coverage" + +# Run load tests (k6) +k6 run tests/load/*.js +``` + +--- From 4dab3c5cd95fbc130ca898caadc3022d65d0a05e Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 1 May 2026 16:47:34 +0700 Subject: [PATCH 18/90] fix report leaave --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 8ced9487..09542e34 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -157,7 +157,7 @@ namespace BMA.EHR.Leave.Service.Controllers data.Type.Id, data.CreatedAt); var startFiscalYear = (new DateTime(data.LeaveStartDate.Year - 1, 10, 1)).Date; - var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt).Date; + var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt); var thisYear = data.LeaveStartDate.Year; var toDay = data.LeaveStartDate.Date; From e326e43ae6068466934d949dce43485a7a449e56 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 5 May 2026 10:23:40 +0700 Subject: [PATCH 19/90] fix Issue #2458 --- BMA.EHR.Leave/Controllers/LeaveController.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 01da5781..91289743 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3010,6 +3010,8 @@ namespace BMA.EHR.Leave.Service.Controllers [ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task> CheckoutCheckAsync(string isSeminar = "N") { + // "S" = Seminar, "N" = Normal, "O" = One Stop Service + var time = DateTime.Now; var userId = UserId != null ? Guid.Parse(UserId) : Guid.Empty; @@ -3041,9 +3043,11 @@ namespace BMA.EHR.Leave.Service.Controllers //var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime; -  //var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00"); - var endTime = isSeminar.Trim().ToUpper() == "Y" + //var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00"); + var endTime = isSeminar.Trim().ToUpper() == "S" ? DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} 14:30") + : isSeminar.Trim().ToUpper() == "O" + ? DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} 18:30") : DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}"); var endTimeMorning = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}"); From 63d983f831c4dd9484fe12a09a7b6b9c07d20f05 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 5 May 2026 12:37:38 +0700 Subject: [PATCH 20/90] fix issue #1572 --- .../LeaveRequests/LeaveBeginingRepository.cs | 8 +- .../LeaveRequests/LeaveRequestRepository.cs | 18 +- .../Models/Leave/Requests/LeaveBeginning.cs | 6 +- .../20260505035145_Change Field.Designer.cs | 1805 +++++++++++++++++ .../LeaveDb/20260505035145_Change Field.cs | 62 + .../LeaveDb/LeaveDbContextModelSnapshot.cs | 4 +- .../Controllers/LeaveBeginningController.cs | 55 +- .../Controllers/LeaveRequestController.cs | 4 +- .../LeaveBeginnings/EditLeaveBeginningDto.cs | 12 +- 9 files changed, 1946 insertions(+), 28 deletions(-) create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.cs diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs index a62aa291..35b18090 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs @@ -149,7 +149,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - prev.LeaveDaysUsed; + prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); } if (govAge >= 180) @@ -215,7 +215,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - prev.LeaveDaysUsed; + prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); } if (govAge >= 180) @@ -288,7 +288,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - prev.LeaveDaysUsed; + prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); } if (govAge >= 180) @@ -376,7 +376,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - prev.LeaveDaysUsed; + prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); } if (govAge >= 180) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index f9a7f58a..9487da2c 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -522,7 +522,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE") .ToListAsync(); - return data.Sum(x => x.LeaveTotal) + (beginningLeave == null ? 0 : beginningLeave.LeaveDaysUsed); + return data.Sum(x => x.LeaveTotal) + (beginningLeave == null ? 0 : (beginningLeave.LeaveDaysUsed ?? 0.0)); } //public async Task GetSumApproveLeaveByTypeForUserAsync(Guid keycloakUserId, Guid leaveTypeId, int year) @@ -1486,7 +1486,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests KeycloakUserId = pf.Keycloak == null ? Guid.Empty : pf.Keycloak.Value, LeaveTypeId = b.LeaveTypeId, LeaveTypeCode = b.LeaveType!.Code, - SumLeaveDay = b.LeaveDaysUsed + SumLeaveDay = b.LeaveDaysUsed ?? 0.0 }); } } @@ -1887,6 +1887,20 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests else return 0; } + + public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.KeycloakUserId == keycloakUserId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") + .ToListAsync(); + + return data.Count; + } /// /// āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđāļšāļšāļĢāđˆāļēāļ‡āļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļĒāļ·āđˆāļ™ diff --git a/BMA.EHR.Domain/Models/Leave/Requests/LeaveBeginning.cs b/BMA.EHR.Domain/Models/Leave/Requests/LeaveBeginning.cs index 153b7d22..0bb9a1c1 100644 --- a/BMA.EHR.Domain/Models/Leave/Requests/LeaveBeginning.cs +++ b/BMA.EHR.Domain/Models/Leave/Requests/LeaveBeginning.cs @@ -27,11 +27,11 @@ namespace BMA.EHR.Domain.Models.Leave.Requests [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”")] public double LeaveDays { get; set; } = 0.0; - [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›")] - public double LeaveDaysUsed { get; set; } = 0.0; + [Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›")] + public double? LeaveDaysUsed { get; set; } = 0.0; [Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ")] - public int LeaveCount { get; set; } = 0; + public int? LeaveCount { get; set; } = 0; public Guid? RootDnaId { get; set; } diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.Designer.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.Designer.cs new file mode 100644 index 00000000..f95eab33 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.Designer.cs @@ -0,0 +1,1805 @@ +ïŧŋ// +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.LeaveDb +{ + [DbContext(typeof(LeaveDbContext))] + [Migration("20260505035145_Change Field")] + partial class ChangeField + { + /// + 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.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Code") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Limit") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļŠāļđāļ‡āļŠāļļāļ”āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("LeaveTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BeginningLeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē"); + + b.Property("BeginningLeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + + b.Property("LeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("LeaveDaysUsed") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + b.Property("LeaveTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveYear") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LeaveTypeId"); + + b.ToTable("LeaveBeginnings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveRequestId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AbsentDayAt") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayGetIn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayLocation") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayRegistorDate") + .HasColumnType("datetime(6)"); + + b.Property("AbsentDaySummon") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("CancelLeaveWrote") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ (āļ‚āļ­āļĒāļāđ€āļĨāļīāļ)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + b.Property("CommanderPosition") + .HasColumnType("longtext"); + + b.Property("CoupleDayCountryHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayEndDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDayLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayLevelCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayPosition") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayStartDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDaySumTotalHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayTotalHistory") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateSendLeave") + .HasColumnType("datetime(6)"); + + b.Property("Dear") + .HasColumnType("longtext") + .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("HajjDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveAddress") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveBirthDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveCancelComment") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveCancelDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveCancelStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("LeaveDetail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļĨāļē"); + + b.Property("LeaveDirectorComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļģāļ™āļ§āļĒāļāļēāļĢāļŠāļģāļ™āļąāļ"); + + b.Property("LeaveDraftDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("LeaveGovernmentDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveLast") + .HasColumnType("datetime(6)"); + + b.Property("LeaveNumber") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveRange") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄ āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveRangeEnd") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ” āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveSalary") + .HasColumnType("int"); + + b.Property("LeaveSalaryText") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("LeaveStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĨāļē"); + + b.Property("LeaveStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļĢāđ‰āļ­āļ‡"); + + b.Property("LeaveSubTypeName") + .HasColumnType("longtext"); + + b.Property("LeaveTotal") + .HasColumnType("double"); + + b.Property("LeaveTypeCode") + .HasColumnType("longtext") + .HasComment("code āļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveWrote") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ"); + + b.Property("OrdainDayBuddhistLentAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayBuddhistLentName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayOrdination") + .HasColumnType("datetime(6)"); + + b.Property("OrdainDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionLevelName") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RestDayCurrentTotal") + .HasColumnType("double"); + + b.Property("RestDayOldTotal") + .HasColumnType("double"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("StudyDayCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayDegreeLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayScholarship") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDaySubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingSubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayUniversityName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.Property("WifeDayDateBorn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("WifeDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("LeaveCancelDocumentId"); + + b.HasIndex("LeaveDraftDocumentId"); + + b.HasIndex("TypeId"); + + b.ToTable("LeaveRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("LeaveRequestId") + .HasColumnType("char(36)"); + + b.Property("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosExecutiveName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionLevelName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionSign") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ•āđ‰āļĨāļēāļĒāđ€āļŠāđ‡āļ™āļ•āđŒ"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveRequestApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckDate") + .HasColumnType("datetime(6)") + .HasComment("*āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("CheckInEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("CheckOutEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđƒāļ™āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("*āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak āļ—āļĩāđˆāļĢāđ‰āļ­āļ‡āļ‚āļ­"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("POI") + .HasColumnType("longtext"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("AdditionalCheckRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AdditionalData") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (JSON)"); + + b.Property("CheckInId") + .HasColumnType("char(36)") + .HasComment("CheckInId āļŠāļģāļŦāļĢāļąāļš Check-Out"); + + b.Property("CheckType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē: CHECK_IN, CHECK_OUT"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("ErrorMessage") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + 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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.Property("TaskId") + .HasColumnType("char(36)") + .HasComment("Task ID āļŠāļģāļŦāļĢāļąāļšāļ•āļīāļ”āļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CheckInJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ"); + + b.Property("EndTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("EndTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ (āđ€āļ›āļīāļ”/āļ›āļīāļ”)"); + + b.Property("IsDefault") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ§āđˆāļēāļĢāļ­āļšāđƒāļ”āđ€āļ›āđ‡āļ™āļ„āđˆāļē Default āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ (āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ­āļš)"); + + 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("StartTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("StartTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("DutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("ErrorMessage") + .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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Root DNA Id"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.HasKey("Id"); + + b.ToTable("LeaveProcessJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckInStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("CheckOutStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("EditReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("EditStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ‚āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("ProcessUserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Calendar") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļāļīāļ—āļīāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ āļ‚āļĢāļ āļ›āļāļ•āļī āļŦāļĢāļ·āļ­ 6 āļ§āļąāļ™āļ•āđˆāļ­āļŠāļąāļ›āļ”āļēāļŦāđŒ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("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("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("UserCalendars"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("EffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĄāļĩāļœāļĨ"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DutyTimeId"); + + b.ToTable("UserDutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("UserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "LeaveType") + .WithMany() + .HasForeignKey("LeaveTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("LeaveDocument") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveCancelDocument") + .WithMany() + .HasForeignKey("LeaveCancelDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveDraftDocument") + .WithMany() + .HasForeignKey("LeaveDraftDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "Type") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveCancelDocument"); + + b.Navigation("LeaveDraftDocument"); + + b.Navigation("Type"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("Approvers") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", "DutyTime") + .WithMany() + .HasForeignKey("DutyTimeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DutyTime"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Navigation("Approvers"); + + b.Navigation("LeaveDocument"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.cs new file mode 100644 index 00000000..a6ffb9e4 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260505035145_Change Field.cs @@ -0,0 +1,62 @@ +ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations.LeaveDb +{ + /// + public partial class ChangeField : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "LeaveDaysUsed", + table: "LeaveBeginnings", + type: "double", + nullable: true, + comment: "āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›", + oldClrType: typeof(double), + oldType: "double", + oldComment: "āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + migrationBuilder.AlterColumn( + name: "LeaveCount", + table: "LeaveBeginnings", + type: "int", + nullable: true, + comment: "āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ", + oldClrType: typeof(int), + oldType: "int", + oldComment: "āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "LeaveDaysUsed", + table: "LeaveBeginnings", + type: "double", + nullable: false, + defaultValue: 0.0, + comment: "āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›", + oldClrType: typeof(double), + oldType: "double", + oldNullable: true, + oldComment: "āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + migrationBuilder.AlterColumn( + name: "LeaveCount", + table: "LeaveBeginnings", + type: "int", + nullable: false, + defaultValue: 0, + comment: "āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ", + oldClrType: typeof(int), + oldType: "int", + oldNullable: true, + oldComment: "āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs index 887d4f97..eb04cfc2 100644 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs @@ -192,7 +192,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb .HasColumnOrder(102) .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); - b.Property("LeaveCount") + b.Property("LeaveCount") .HasColumnType("int") .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); @@ -200,7 +200,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb .HasColumnType("double") .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); - b.Property("LeaveDaysUsed") + b.Property("LeaveDaysUsed") .HasColumnType("double") .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); diff --git a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs index e580b00a..a71ef428 100644 --- a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs @@ -33,6 +33,7 @@ namespace BMA.EHR.Leave.Service.Controllers private readonly IConfiguration _configuration; private readonly UserProfileRepository _userProfileRepository; private readonly PermissionRepository _permission; + private readonly LeaveRequestRepository _leaveRequestRepository; #endregion @@ -44,7 +45,8 @@ namespace BMA.EHR.Leave.Service.Controllers IWebHostEnvironment hostingEnvironment, IConfiguration configuration, UserProfileRepository userProfileRepository, - PermissionRepository permission) + PermissionRepository permission, + LeaveRequestRepository leaveRequestRepository) { _leaveBeginningRepository = leaveBeginningRepository; _context = context; @@ -53,6 +55,7 @@ namespace BMA.EHR.Leave.Service.Controllers _configuration = configuration; _userProfileRepository = userProfileRepository; _permission = permission; + _leaveRequestRepository = leaveRequestRepository; } #endregion @@ -392,14 +395,35 @@ namespace BMA.EHR.Leave.Service.Controllers { return Error("āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŦāļĢāļ·āļ­āļĨāļđāļāļˆāđ‰āļēāļ‡", StatusCodes.Status404NotFound); } + + var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1); + var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30); + + if (req.LeaveDaysUsed is null || req.LeaveCount is null) + { + var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); + var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); + + leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays; + leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount; + + leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; + leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + } + else + { + leaveBeginning.LeaveDaysUsed = req.LeaveDaysUsed; + leaveBeginning.LeaveCount = req.LeaveCount; + leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; + leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + //var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); + //var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); + } leaveBeginning.LeaveTypeId = req.LeaveTypeId; leaveBeginning.LeaveYear = req.LeaveYear; leaveBeginning.LeaveDays = req.LeaveDays; - leaveBeginning.LeaveDaysUsed = req.LeaveDaysUsed; - leaveBeginning.LeaveCount = req.LeaveCount; - leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; - leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + leaveBeginning.ProfileId = req.ProfileId; leaveBeginning.Prefix = profile.Prefix; @@ -464,13 +488,26 @@ namespace BMA.EHR.Leave.Service.Controllers } var leaveBeginning = new LeaveBeginning(); + + if (req.LeaveDaysUsed is null || req.LeaveCount is null) + { + leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays; + leaveBeginning.LeaveCount = req.BeginningLeaveCount; + leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; + leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + } + else + { + leaveBeginning.LeaveDaysUsed = req.LeaveDaysUsed; + leaveBeginning.LeaveCount = req.LeaveCount; + leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; + leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + } + leaveBeginning.LeaveTypeId = req.LeaveTypeId; leaveBeginning.LeaveYear = req.LeaveYear; leaveBeginning.LeaveDays = req.LeaveDays; - leaveBeginning.LeaveDaysUsed = req.LeaveDaysUsed; - leaveBeginning.LeaveCount = req.LeaveCount; - leaveBeginning.BeginningLeaveDays = req.BeginningLeaveDays; - leaveBeginning.BeginningLeaveCount = req.BeginningLeaveCount; + leaveBeginning.ProfileId = req.ProfileId; leaveBeginning.Prefix = profile.Prefix; diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 9ba54be1..93c0b1f8 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -943,8 +943,8 @@ namespace BMA.EHR.Leave.Service.Controllers OrganizationName = orgName, //profile.Oc ?? "", LeaveLimit = leaveLimit, // āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđƒāļ™āļ›āļĩāļ™āļąāđ‰āļ™āđ†āļ—āļĩāđˆāļĨāļēāđ„āļ”āđ‰ āđ‚āļ”āļĒāļĢāļ§āļĄāļĒāļ­āļ”āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļˆāļēāļāļ›āļĩāļāđˆāļ­āļ™āļĄāļē (āđ€āļ­āļēāļ„āđˆāļēāļĄāļēāļˆāļēāļāļ•āļēāļĢāļēāļ‡ Beginning āđ€āļĨāļĒ) - LeaveTotal = sumLeave, // āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāļĨāļēāđ„āļ›āđāļĨāđ‰āļ§āđƒāļ™āļ›āļĩāļ™āļąāđ‰āļ™āđ† āđ‚āļ”āļĒāđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļē āļˆāļ°āļĄāļēāļšāļ§āļāļ„āđˆāļēāļ™āļĩāđ‰āđ„āļ›āđ€āļĢāļ·āđˆāļ­āļĒāđ† (āđ€āļ­āļēāļ„āđˆāļēāļĄāļēāļˆāļēāļāļ•āļēāļĢāļēāļ‡ Beginning āđ€āļĨāļĒ) - LeaveRemain = leaveLimit - sumLeave, + LeaveTotal = sumLeave ?? 0, // āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāļĨāļēāđ„āļ›āđāļĨāđ‰āļ§āđƒāļ™āļ›āļĩāļ™āļąāđ‰āļ™āđ† āđ‚āļ”āļĒāđ€āļĄāļ·āđˆāļ­āļĄāļĩāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļē āļˆāļ°āļĄāļēāļšāļ§āļāļ„āđˆāļēāļ™āļĩāđ‰āđ„āļ›āđ€āļĢāļ·āđˆāļ­āļĒāđ† (āđ€āļ­āļēāļ„āđˆāļēāļĄāļēāļˆāļēāļāļ•āļēāļĢāļēāļ‡ Beginning āđ€āļĨāļĒ) + LeaveRemain = leaveLimit - (sumLeave ?? 0), RestDayTotalOld = restOldDay, // āđ€āļ­āļē leaveLimit āļĄāļēāļĨāļš 10 (LV-005) RestDayTotalCurrent = restCurrentDay,// 10 āļ§āļąāļ™āđ€āļŠāļĄāļ­ (LV-005) BirthDate = profile.BirthDate.Date, diff --git a/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs b/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs index 524072ec..28c2686a 100644 --- a/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs @@ -17,16 +17,16 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveBeginnings [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē")] public double LeaveDays { get; set; } = 0.0; - [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›")] - public double LeaveDaysUsed { get; set; } = 0.0; + [Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›")] + public double? LeaveDaysUsed { get; set; } = 0.0; - [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ")] - public int LeaveCount { get; set; } = 0; + [Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ")] + public int? LeaveCount { get; set; } = 0; - [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē")] + [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļēāļāđˆāļ­āļ™āđƒāļŠāđ‰āļĢāļ°āļšāļš")] public double BeginningLeaveDays { get; set; } = 0.0; - [Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē")] + [Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļēāļāđˆāļ­āļ™āđƒāļŠāđ‰āļĢāļ°āļšāļš")] public int BeginningLeaveCount { get; set; } = 0; } From 82a45b68113e0d99dde8cb572059f2952194cbb4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 5 May 2026 12:56:31 +0700 Subject: [PATCH 21/90] remove default value --- BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs b/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs index 28c2686a..a41aa9f2 100644 --- a/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveBeginnings/EditLeaveBeginningDto.cs @@ -18,10 +18,10 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveBeginnings public double LeaveDays { get; set; } = 0.0; [Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›")] - public double? LeaveDaysUsed { get; set; } = 0.0; + public double? LeaveDaysUsed { get; set; } [Comment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ")] - public int? LeaveCount { get; set; } = 0; + public int? LeaveCount { get; set; } [Required, Comment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļēāļāđˆāļ­āļ™āđƒāļŠāđ‰āļĢāļ°āļšāļš")] public double BeginningLeaveDays { get; set; } = 0.0; From df7bebe0ba8091c54a451a00b9c6377a4ae3fdca Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 5 May 2026 21:23:46 +0700 Subject: [PATCH 22/90] =?UTF-8?q?api=20check-time=20=E0=B9=81=E0=B8=81?= =?UTF-8?q?=E0=B8=B0=20profileId=20=E0=B8=88=E0=B8=B2=E0=B8=81=20token=20?= =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B9=84=E0=B8=A1?= =?UTF-8?q?=E0=B9=88=E0=B8=95=E0=B9=89=E0=B8=AD=E0=B8=87=E0=B9=84=E0=B8=9B?= =?UTF-8?q?=20call=20=E0=B9=80=E0=B8=AD=E0=B8=B2=E0=B8=88=E0=B8=B2?= =?UTF-8?q?=E0=B8=81=20org?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 91289743..83c205f8 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -446,29 +446,30 @@ namespace BMA.EHR.Leave.Service.Controllers public async Task> CheckTimeAsync(CancellationToken cancellationToken = default) { var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); + var profileId = ProfileId ?? Guid.Empty; // Get user's last check-in record and profile in parallel var dataTask = _userTimeStampRepository.GetLastRecord(userId); - var profileTask = _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken); + //var profileTask = _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken); var defaultRoundTask = _dutyTimeRepository.GetDefaultAsync(); - await Task.WhenAll(dataTask, profileTask, defaultRoundTask); + await Task.WhenAll(dataTask, defaultRoundTask); var data = await dataTask; - var profile = await profileTask; + //var profile = await profileTask; var getDefaultRound = await defaultRoundTask; - if (profile == null) - { - throw new Exception(GlobalMessages.DataNotFound); - } + // if (profile == null) + // { + // throw new Exception(GlobalMessages.DataNotFound); + // } if (getDefaultRound == null) { return Error("āđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļĨāļ‡āđ€āļ§āļĨāļē Default", StatusCodes.Status404NotFound); } - var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profile.Id); + var effectiveDate = await _userDutyTimeRepository.GetLastEffectRound(profileId); var roundId = effectiveDate != null ? effectiveDate.DutyTimeId : Guid.Empty; var userRound = await _dutyTimeRepository.GetByIdAsync(roundId); From 6d0921a76abac4f4cf9443624b3b4df52d4df2f4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 6 May 2026 16:25:54 +0700 Subject: [PATCH 23/90] #2466 --- .../Leaves/LeaveRequests/LeaveRequestRepository.cs | 4 ++-- BMA.EHR.Leave/Controllers/LeaveController.cs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 9487da2c..cb78382e 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1877,7 +1877,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1894,7 +1894,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 83c205f8..f2c3f30e 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3814,6 +3814,8 @@ namespace BMA.EHR.Leave.Service.Controllers "ABSENT" : "NORMAL", CheckOutDescription = d.CheckOutRemark ?? "", + IsLocationCheckIn = d.IsLocationCheckIn, + IsLocationCheckOut = d.IsLocationCheckOut }; return Success(result); From 4161fcc1cfab2094d0eb03b9a2bb9be274325da0 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 6 May 2026 18:53:53 +0700 Subject: [PATCH 24/90] fix --- .../LeaveRequests/LeaveRequestRepository.cs | 31 +++++++++++++++++++ BMA.EHR.Domain/Common/BaseController.cs | 3 ++ .../Extensions/ClaimsPrincipalExtensions.cs | 2 ++ .../Controllers/LeaveBeginningController.cs | 26 ++++++++++++++-- BMA.EHR.Leave/Controllers/LeaveController.cs | 4 ++- 5 files changed, 62 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index cb78382e..8cb9b715 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1888,6 +1888,37 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.ProfileId == profileId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") + .ToListAsync(); + + if (data.Count > 0) + return data.Sum(x => x.LeaveTotal); + else + return 0; + } + + public async Task GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.ProfileId == profileId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") + .ToListAsync(); + + return data.Count; + } + public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { var data = await _dbContext.Set().AsQueryable().AsNoTracking() diff --git a/BMA.EHR.Domain/Common/BaseController.cs b/BMA.EHR.Domain/Common/BaseController.cs index 26f71bf5..0b382d95 100644 --- a/BMA.EHR.Domain/Common/BaseController.cs +++ b/BMA.EHR.Domain/Common/BaseController.cs @@ -95,6 +95,9 @@ namespace BMA.EHR.Domain.Common protected Guid? ProfileId => User.GetProfileId(); protected string? Prefix => User.GetPrefix(); protected string? FullNameFromClaim => User.GetName(); + + protected string? FirstName => User.GetFirstName(); + protected string? LastName => User.GetLastName(); #endregion diff --git a/BMA.EHR.Domain/Extensions/ClaimsPrincipalExtensions.cs b/BMA.EHR.Domain/Extensions/ClaimsPrincipalExtensions.cs index 26a7c189..cc44f8a1 100644 --- a/BMA.EHR.Domain/Extensions/ClaimsPrincipalExtensions.cs +++ b/BMA.EHR.Domain/Extensions/ClaimsPrincipalExtensions.cs @@ -26,5 +26,7 @@ namespace BMA.EHR.Domain.Extensions public static Guid? GetProfileId(this ClaimsPrincipal user) => user.GetGuidClaim(BmaClaimTypes.ProfileId); public static string? GetPrefix(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Prefix); public static string? GetName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.Name); + public static string? GetFirstName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.GivenName); + public static string? GetLastName(this ClaimsPrincipal user) => user.GetClaimValue(BmaClaimTypes.FamilyName); } } diff --git a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs index a71ef428..2aa4988f 100644 --- a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs @@ -378,6 +378,15 @@ namespace BMA.EHR.Leave.Service.Controllers try { var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); + // var profileId = ProfileId ?? Guid.Empty; + // var prefix = Prefix ?? ""; + // var firstName = FirstName ?? ""; + // var lastName = LastName ?? ""; + // var rootDnaId = OrgRootDnaId ?? Guid.Empty; + // var child1DnaId = OrgChild1DnaId ?? Guid.Empty; + // var child2DnaId = OrgChild2DnaId ?? Guid.Empty; + // var child3DnaId = OrgChild3DnaId ?? Guid.Empty; + // var child4DnaId = OrgChild4DnaId ?? Guid.Empty; var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_LEAVE_HISTORY"); var jsonData = JsonConvert.DeserializeObject(getPermission); @@ -389,7 +398,6 @@ namespace BMA.EHR.Leave.Service.Controllers if (leaveBeginning == null) return Error("āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđāļāđ‰āđ„āļ‚", StatusCodes.Status404NotFound); - var profile = await _userProfileRepository.GetProfileByProfileIdAsync(req.ProfileId, AccessToken); if (profile == null) { @@ -399,10 +407,11 @@ namespace BMA.EHR.Leave.Service.Controllers var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1); var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30); + if (req.LeaveDaysUsed is null || req.LeaveCount is null) { - var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); - var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUser2(profile.Keycloak ?? Guid.Empty, req.LeaveTypeId, startFiscalDate, endFiscalDate); + var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate); + var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate); leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays; leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount; @@ -464,6 +473,17 @@ namespace BMA.EHR.Leave.Service.Controllers try { var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); + + // var profileId = ProfileId ?? Guid.Empty; + // var prefix = Prefix ?? ""; + // var firstName = FirstName ?? ""; + // var lastName = LastName ?? ""; + // var rootDnaId = OrgRootDnaId ?? Guid.Empty; + // var child1DnaId = OrgChild1DnaId ?? Guid.Empty; + // var child2DnaId = OrgChild2DnaId ?? Guid.Empty; + // var child3DnaId = OrgChild3DnaId ?? Guid.Empty; + // var child4DnaId = OrgChild4DnaId ?? Guid.Empty; + var getPermission = await _permission.GetPermissionAPIAsync("CREATE", "SYS_LEAVE_HISTORY"); var jsonData = JsonConvert.DeserializeObject(getPermission); if (jsonData["status"]?.ToString() != "200") diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index f2c3f30e..11914436 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3815,7 +3815,9 @@ namespace BMA.EHR.Leave.Service.Controllers "NORMAL", CheckOutDescription = d.CheckOutRemark ?? "", IsLocationCheckIn = d.IsLocationCheckIn, - IsLocationCheckOut = d.IsLocationCheckOut + IsLocationCheckOut = d.IsLocationCheckOut, + CheckInLocationName = d.CheckInLocationName ?? "", + CheckOutLocationName = d.CheckOutLocationName ?? "" }; return Success(result); From bc3bba547f7ebb3969a99eb4e18e06c7148fda18 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 6 May 2026 19:02:57 +0700 Subject: [PATCH 25/90] fix api --- BMA.EHR.Leave/Controllers/LeaveController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 11914436..0d435edd 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -1935,7 +1935,7 @@ namespace BMA.EHR.Leave.Service.Controllers ProfileType = d.ProfileType ?? "", CheckInDate = d.CheckIn.Date, - CheckInTime = d.CheckIn.ToString("HH:mm:ss"), + CheckInTime = d.CheckIn.ToString("HH:mm"), CheckInLocation = d.CheckInPOI, CheckInLat = d.CheckInLat, CheckInLon = d.CheckInLon, @@ -1946,7 +1946,7 @@ namespace BMA.EHR.Leave.Service.Controllers CheckInLocationName = d.CheckInLocationName ?? "", CheckOutDate = d.CheckOut?.Date, - CheckOutTime = d.CheckOut == null ? "" : d.CheckOut.Value.ToString("HH:mm:ss"), + CheckOutTime = d.CheckOut == null ? "" : d.CheckOut.Value.ToString("HH:mm"), CheckOutLocation = d.CheckOut == null ? "" : d.CheckOutPOI, CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat, CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon, From 1739aa8057e8ea3224a845b03996732e1c0568d2 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 7 May 2026 16:14:01 +0700 Subject: [PATCH 26/90] fix issue #1575 --- .../AdditionalCheckRequestRepository.cs | 73 +++++++++++++++++++ BMA.EHR.Leave/Controllers/LeaveController.cs | 6 +- 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs index 0544e261..d4bc0ea8 100644 --- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs @@ -213,6 +213,79 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants } } + public async Task> GetAdditionalCheckRequestsByAdminRole2(DateTime startDate, DateTime endDate, string role, string nodeId, int? node, string? keyword, string? status) + { + try + { + var data = await _dbContext.Set().AsQueryable() + .Where(x => (x.CheckDate.Date >= startDate.Date && x.CheckDate.Date <= endDate.Date)) + .OrderByDescending(x => x.CreatedAt.Date) + .ToListAsync(); + + if(!string.IsNullOrEmpty(status)) + data = data.Where(x => x.Status == status).ToList(); + + + if (!string.IsNullOrEmpty(keyword)) + { + data = data.Where(x => + ( + (x.Prefix ?? "") + (x.FirstName ?? "") + " " + (x.LastName ?? "")).Contains(keyword) + || x.Description.Contains(keyword) + + ).ToList(); + } + + if (role == "OWNER") + { + node = null; + } + if (role == "OWNER" || role == "CHILD") + { + data = data + .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))) + .ToList(); + } + else if (role == "BROTHER") + { + data = data + .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))) + .ToList(); + } + else if (role == "ROOT") + { + data = data + .Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList(); + } + // else if (role == "PARENT") + // { + // data = data + // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null && x.Child1DnaId != Guid.Empty).ToList(); + // } + else if (role == "NORMAL") + { + data = data.Where(x => + node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && + (x.Child1DnaId == Guid.Empty || x.Child1DnaId == null) : + node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && + (x.Child2DnaId == Guid.Empty || x.Child2DnaId == null) : + node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && + (x.Child3DnaId == Guid.Empty || x.Child3DnaId == null) : + node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && + (x.Child4DnaId == Guid.Empty || x.Child4DnaId == null) : + node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : + true + ).ToList(); + } + return data; + } + catch + { + throw; + } + } + + #endregion } } diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 0d435edd..ee894ed4 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3185,7 +3185,7 @@ namespace BMA.EHR.Leave.Service.Controllers [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] - public async Task> GetAdditionalCheckRequestAsync([Required] int year, [Required] int month, [Required] int page = 1, [Required] int pageSize = 10, string keyword = "", string? sortBy = "", bool? descending = false) + public async Task> GetAdditionalCheckRequestAsync([Required] DateTime startDate, [Required] DateTime endDate, [Required] int page = 1, [Required] int pageSize = 10, string keyword = "", string? sortBy = "", bool? descending = false,string? status = "") { var jsonData = await _permission.GetPermissionWithActingAPIAsync("LIST", "SYS_CHECKIN_SPECIAL"); //var jsonData = JsonConvert.DeserializeObject(getPermission); @@ -3230,7 +3230,7 @@ namespace BMA.EHR.Leave.Service.Controllers } //var rawData = await _additionalCheckRequestRepository.GetAdditionalCheckRequests(year, month); - var rawData = await _additionalCheckRequestRepository.GetAdditionalCheckRequestsByAdminRole(year, month, role, nodeId, profileAdmin?.Node, keyword); + var rawData = await _additionalCheckRequestRepository.GetAdditionalCheckRequestsByAdminRole2(startDate, endDate, role, nodeId, profileAdmin?.Node, keyword,status); // āļ–āđ‰āļēāļĄāļĩāļāļēāļĢāļĢāļąāļāļĐāļēāļāļēāļĢ if (jsonData.result.isAct) @@ -3298,7 +3298,7 @@ namespace BMA.EHR.Leave.Service.Controllers actNode = 0; } - var rawDataAct = await _additionalCheckRequestRepository.GetAdditionalCheckRequestsByAdminRole(year, month, actRole, actNodeId, profileAdmin?.Node, keyword); + var rawDataAct = await _additionalCheckRequestRepository.GetAdditionalCheckRequestsByAdminRole2(startDate, endDate, actRole, actNodeId, profileAdmin?.Node, keyword,status); if (rawDataAct != null) { if (rawData != null) From f02413f2b213f197b2fb1f0d0b6102bd0661a99d Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 11 May 2026 10:11:40 +0700 Subject: [PATCH 27/90] =?UTF-8?q?=E0=B8=AB=E0=B8=A5=E0=B8=B1=E0=B8=87?= =?UTF-8?q?=E0=B8=AD=E0=B8=99=E0=B8=B8=E0=B8=A1=E0=B8=B1=E0=B8=95=E0=B8=B4?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=20=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=AA?= =?UTF-8?q?=E0=B8=96=E0=B8=B2=E0=B8=99=E0=B8=B0=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=A5=E0=B8=87=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=E0=B9=80?= =?UTF-8?q?=E0=B8=9B=E0=B9=87=E0=B8=99=20=E0=B8=9B=E0=B8=81=E0=B8=95?= =?UTF-8?q?=E0=B8=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LeaveRequests/LeaveRequestRepository.cs | 72 +++++++++++++++++-- 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 8cb9b715..dee940fe 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -11,6 +11,8 @@ using Microsoft.Extensions.Configuration; using System.IO.Compression; using System.Net.Http.Headers; using System.Net.Http.Json; +using BMA.EHR.Application.Repositories.Leaves.TimeAttendants; +using BMA.EHR.Domain.Models.Leave.TimeAttendants; namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests { @@ -29,6 +31,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests private readonly MinIOLeaveService _minIOService; private readonly LeaveBeginningRepository _leaveBeginningRepository; + private readonly ProcessUserTimeStampRepository _processUserTimeStampRepository; private readonly string URL = string.Empty; @@ -44,7 +47,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests EmailSenderService emailSenderService, IApplicationDBContext appDbContext, MinIOLeaveService minIOService, - LeaveBeginningRepository leaveBeginningRepository) : base(dbContext, httpContextAccessor) + LeaveBeginningRepository leaveBeginningRepository, + ProcessUserTimeStampRepository processUserTimeStampRepository) : base(dbContext, httpContextAccessor) { _dbContext = dbContext; _httpContextAccessor = httpContextAccessor; @@ -58,6 +62,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests Console.WriteLine($"URL : {URL}"); _minIOService = minIOService; _leaveBeginningRepository = leaveBeginningRepository; + _processUserTimeStampRepository = processUserTimeStampRepository; } #endregion @@ -1325,9 +1330,68 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests } await _appDbContext.SaveChangesAsync(); - // insert to process timestamp - - + // āļ›āļĢāļąāļšāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē + if (rawData.LeaveStartDate.Date == rawData.LeaveEndDate.Date) + { + var processCheckIn = await _dbContext.Set() + .Where(x => x.KeycloakUserId == rawData.KeycloakUserId) + .Where(x => x.CheckIn.Date == rawData.LeaveStartDate.Date) + .FirstOrDefaultAsync(); + + + if (processCheckIn is not null) + { + switch (rawData.LeaveRange.Trim().ToUpper()) + { + case "MORNING": + processCheckIn.CheckInStatus = "NORMAL"; + break; + case "AFTERNOON": + processCheckIn.CheckOutStatus = "NORMAL"; + break; + case "ALL": + processCheckIn.CheckInStatus = "NORMAL"; + processCheckIn.CheckOutStatus = "NORMAL"; + break; + default: + break; + } + } + await _dbContext.SaveChangesAsync(); + } + else + { + var from = rawData.LeaveStartDate.Date; + var to = rawData.LeaveEndDate.Date; + for (var day = from.Date; day <= to.Date; day = day.AddDays(1)) + { + var processCheckIn = await _dbContext.Set() + .Where(x => x.KeycloakUserId == rawData.KeycloakUserId) + .Where(x => x.CheckIn.Date == day.Date) + .FirstOrDefaultAsync(); + + if (processCheckIn is not null) + { + switch (rawData.LeaveRange.Trim().ToUpper()) + { + case "MORNING": + processCheckIn.CheckInStatus = "NORMAL"; + break; + case "AFTERNOON": + processCheckIn.CheckOutStatus = "NORMAL"; + break; + case "ALL": + processCheckIn.CheckInStatus = "NORMAL"; + processCheckIn.CheckOutStatus = "NORMAL"; + break; + default: + break; + } + } + } + await _dbContext.SaveChangesAsync(); + } + // Send Noti var noti = new Notification { From 80fcda61cf96dfff6365e64576a00244b97c3eb4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 11 May 2026 15:12:09 +0700 Subject: [PATCH 28/90] issue #1580 --- .../Leave/Requests/LeaveRequestApprover.cs | 5 + ...60511075931_Add Approver Field.Designer.cs | 1812 +++++++++++++++++ .../20260511075931_Add Approver Field.cs | 40 + .../LeaveDb/LeaveDbContextModelSnapshot.cs | 7 + .../Controllers/LeaveRequestController.cs | 13 +- .../GetLeaveRequestForAdminByIdDto.cs | 3 + .../LeaveRequest/LeaveRequestApproverDto.cs | 6 + 7 files changed, 1884 insertions(+), 2 deletions(-) create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.cs diff --git a/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequestApprover.cs b/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequestApprover.cs index f974d004..0a46c199 100644 --- a/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequestApprover.cs +++ b/BMA.EHR.Domain/Models/Leave/Requests/LeaveRequestApprover.cs @@ -38,5 +38,10 @@ namespace BMA.EHR.Domain.Models.Leave.Requests public string Comment { get; set; } = string.Empty; public string? ApproveType { get; set; } = string.Empty; // āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē = commander, āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļ­āļ™āļļāļĄāļąāļ•āļī = Approver + + + public bool IsAct { get; set; } = false; + + public string KeyId { get; set; } = string.Empty; } } diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.Designer.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.Designer.cs new file mode 100644 index 00000000..165b8195 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.Designer.cs @@ -0,0 +1,1812 @@ +ïŧŋ// +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.LeaveDb +{ + [DbContext(typeof(LeaveDbContext))] + [Migration("20260511075931_Add Approver Field")] + partial class AddApproverField + { + /// + 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.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Code") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Limit") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļŠāļđāļ‡āļŠāļļāļ”āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("LeaveTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BeginningLeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē"); + + b.Property("BeginningLeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + + b.Property("LeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("LeaveDaysUsed") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + b.Property("LeaveTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveYear") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LeaveTypeId"); + + b.ToTable("LeaveBeginnings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveRequestId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AbsentDayAt") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayGetIn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayLocation") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayRegistorDate") + .HasColumnType("datetime(6)"); + + b.Property("AbsentDaySummon") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("CancelLeaveWrote") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ (āļ‚āļ­āļĒāļāđ€āļĨāļīāļ)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + b.Property("CommanderPosition") + .HasColumnType("longtext"); + + b.Property("CoupleDayCountryHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayEndDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDayLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayLevelCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayPosition") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayStartDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDaySumTotalHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayTotalHistory") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateSendLeave") + .HasColumnType("datetime(6)"); + + b.Property("Dear") + .HasColumnType("longtext") + .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("HajjDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveAddress") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveBirthDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveCancelComment") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveCancelDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveCancelStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("LeaveDetail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļĨāļē"); + + b.Property("LeaveDirectorComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļģāļ™āļ§āļĒāļāļēāļĢāļŠāļģāļ™āļąāļ"); + + b.Property("LeaveDraftDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("LeaveGovernmentDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveLast") + .HasColumnType("datetime(6)"); + + b.Property("LeaveNumber") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveRange") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄ āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveRangeEnd") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ” āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveSalary") + .HasColumnType("int"); + + b.Property("LeaveSalaryText") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("LeaveStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĨāļē"); + + b.Property("LeaveStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļĢāđ‰āļ­āļ‡"); + + b.Property("LeaveSubTypeName") + .HasColumnType("longtext"); + + b.Property("LeaveTotal") + .HasColumnType("double"); + + b.Property("LeaveTypeCode") + .HasColumnType("longtext") + .HasComment("code āļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveWrote") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ"); + + b.Property("OrdainDayBuddhistLentAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayBuddhistLentName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayOrdination") + .HasColumnType("datetime(6)"); + + b.Property("OrdainDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionLevelName") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RestDayCurrentTotal") + .HasColumnType("double"); + + b.Property("RestDayOldTotal") + .HasColumnType("double"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("StudyDayCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayDegreeLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayScholarship") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDaySubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingSubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayUniversityName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.Property("WifeDayDateBorn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("WifeDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("LeaveCancelDocumentId"); + + b.HasIndex("LeaveDraftDocumentId"); + + b.HasIndex("TypeId"); + + b.ToTable("LeaveRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("IsAct") + .HasColumnType("tinyint(1)"); + + b.Property("KeyId") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("LeaveRequestId") + .HasColumnType("char(36)"); + + b.Property("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosExecutiveName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionLevelName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionSign") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ•āđ‰āļĨāļēāļĒāđ€āļŠāđ‡āļ™āļ•āđŒ"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveRequestApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckDate") + .HasColumnType("datetime(6)") + .HasComment("*āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("CheckInEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("CheckOutEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđƒāļ™āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("*āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak āļ—āļĩāđˆāļĢāđ‰āļ­āļ‡āļ‚āļ­"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("POI") + .HasColumnType("longtext"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("AdditionalCheckRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AdditionalData") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (JSON)"); + + b.Property("CheckInId") + .HasColumnType("char(36)") + .HasComment("CheckInId āļŠāļģāļŦāļĢāļąāļš Check-Out"); + + b.Property("CheckType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē: CHECK_IN, CHECK_OUT"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("ErrorMessage") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + 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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.Property("TaskId") + .HasColumnType("char(36)") + .HasComment("Task ID āļŠāļģāļŦāļĢāļąāļšāļ•āļīāļ”āļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CheckInJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ"); + + b.Property("EndTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("EndTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ (āđ€āļ›āļīāļ”/āļ›āļīāļ”)"); + + b.Property("IsDefault") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ§āđˆāļēāļĢāļ­āļšāđƒāļ”āđ€āļ›āđ‡āļ™āļ„āđˆāļē Default āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ (āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ­āļš)"); + + 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("StartTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("StartTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("DutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("ErrorMessage") + .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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Root DNA Id"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.HasKey("Id"); + + b.ToTable("LeaveProcessJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckInStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("CheckOutStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("EditReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("EditStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ‚āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("ProcessUserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Calendar") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļāļīāļ—āļīāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ āļ‚āļĢāļ āļ›āļāļ•āļī āļŦāļĢāļ·āļ­ 6 āļ§āļąāļ™āļ•āđˆāļ­āļŠāļąāļ›āļ”āļēāļŦāđŒ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("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("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("UserCalendars"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("EffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĄāļĩāļœāļĨ"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DutyTimeId"); + + b.ToTable("UserDutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("UserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "LeaveType") + .WithMany() + .HasForeignKey("LeaveTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("LeaveDocument") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveCancelDocument") + .WithMany() + .HasForeignKey("LeaveCancelDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveDraftDocument") + .WithMany() + .HasForeignKey("LeaveDraftDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "Type") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveCancelDocument"); + + b.Navigation("LeaveDraftDocument"); + + b.Navigation("Type"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("Approvers") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", "DutyTime") + .WithMany() + .HasForeignKey("DutyTimeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DutyTime"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Navigation("Approvers"); + + b.Navigation("LeaveDocument"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.cs new file mode 100644 index 00000000..83d313b0 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260511075931_Add Approver Field.cs @@ -0,0 +1,40 @@ +ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations.LeaveDb +{ + /// + public partial class AddApproverField : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsAct", + table: "LeaveRequestApprovers", + type: "tinyint(1)", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "KeyId", + table: "LeaveRequestApprovers", + type: "longtext", + nullable: false) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "IsAct", + table: "LeaveRequestApprovers"); + + migrationBuilder.DropColumn( + name: "KeyId", + table: "LeaveRequestApprovers"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs index eb04cfc2..99694a78 100644 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs @@ -713,6 +713,13 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb .IsRequired() .HasColumnType("longtext"); + b.Property("IsAct") + .HasColumnType("tinyint(1)"); + + b.Property("KeyId") + .IsRequired() + .HasColumnType("longtext"); + b.Property("KeycloakId") .HasColumnType("char(36)"); diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 93c0b1f8..8dee308e 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -175,6 +175,9 @@ namespace BMA.EHR.Leave.Service.Controllers LastUpdateFullName = FullName ?? "", LastUpdateUserId = UserId!, LastUpdatedAt = DateTime.Now, + + IsAct = r.isAct, + KeyId = r.keyId }); } @@ -2988,7 +2991,10 @@ namespace BMA.EHR.Leave.Service.Controllers ApproveStatus = x.ApproveStatus, Comment = x.Comment, ProfileId = x.ProfileId, - KeycloakId = x.KeycloakId + KeycloakId = x.KeycloakId, + isAct = x.IsAct, + keyId = x.KeyId + }).ToList(); var approvers = rawData.Approvers.Where(x => x.ApproveType.ToUpper() == "APPROVER") @@ -3003,7 +3009,10 @@ namespace BMA.EHR.Leave.Service.Controllers ApproveStatus = x.ApproveStatus, Comment = x.Comment, ProfileId = x.ProfileId, - KeycloakId = x.KeycloakId + KeycloakId = x.KeycloakId, + + isAct = x.IsAct, + keyId = x.KeyId }).ToList(); result.Approvers.AddRange(approvers); diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs index e9bae1bd..8afa5ca1 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/GetLeaveRequestForAdminByIdDto.cs @@ -174,5 +174,8 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest public string ApproveStatus { get; set; } = string.Empty; public string Comment { get; set; } = string.Empty; + + public bool isAct { get; set; } = false; + public string keyId { get; set; } = string.Empty; } } diff --git a/BMA.EHR.Leave/DTOs/LeaveRequest/LeaveRequestApproverDto.cs b/BMA.EHR.Leave/DTOs/LeaveRequest/LeaveRequestApproverDto.cs index b5ff27a5..a542d393 100644 --- a/BMA.EHR.Leave/DTOs/LeaveRequest/LeaveRequestApproverDto.cs +++ b/BMA.EHR.Leave/DTOs/LeaveRequest/LeaveRequestApproverDto.cs @@ -37,5 +37,11 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest [JsonProperty("organizationName")] public string OrganizationName { get; set; } = string.Empty; + [JsonProperty("isAct")] + public bool isAct { get; set; } = false; + + [JsonProperty("keyId")] + public string keyId { get; set; } = string.Empty; + } } From 91c479ef9eff363af9a4cf34a552218dc78db37f Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 12 May 2026 11:37:32 +0700 Subject: [PATCH 29/90] fix addition checkin --- BMA.EHR.Leave/Controllers/LeaveController.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index ee894ed4..7e6befad 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3136,8 +3136,17 @@ namespace BMA.EHR.Leave.Service.Controllers { return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐāđƒāļ™āļ§āļąāļ™āļ—āļĩāđˆāļĄāļēāļāļāļ§āđˆāļēāļ§āļąāļ™āļ—āļĩāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ„āļ”āđ‰", StatusCodes.Status400BadRequest); } + + var userId = UserId != null ? Guid.Parse(UserId) : Guid.Empty; + + var checkin = await _userTimeStampRepository.GetTimestampByDateAsync(userId, req.CheckDate.Date); + if (checkin != null && checkin.CheckOut == null) + { + return Error("āļĢāļ°āļšāļšāļžāļšāļĢāļēāļĒāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđāļāđ‰āđ„āļ‚ āđāļ•āđˆāļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ­āļ­āļ āļāļĢāļļāļ“āļēāļĨāļ‡āđ€āļ§āļĨāļēāļ­āļ­āļāđƒāļŦāđ‰āđ€āļĢāļĩāļĒāļšāļĢāđ‰āļ­āļĒāļāđˆāļ­āļ™āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ"); + } + var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken); if (profile == null) { From 20e8dfddd63add1a40c99c1c10a757c168b46971 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 12 May 2026 12:02:45 +0700 Subject: [PATCH 30/90] =?UTF-8?q?=E0=B8=99=E0=B8=B1=E0=B8=9A=E0=B8=A7?= =?UTF-8?q?=E0=B8=B1=E0=B8=99=E0=B8=AB=E0=B8=A2=E0=B8=B8=E0=B8=94=20?= =?UTF-8?q?=E0=B8=95=E0=B9=89=E0=B8=AD=E0=B8=87=E0=B8=95=E0=B8=B1=E0=B8=94?= =?UTF-8?q?=E0=B9=80=E0=B8=AA=E0=B8=B2=E0=B8=A3=E0=B9=8C=20=E0=B8=AD?= =?UTF-8?q?=E0=B8=B2=E0=B8=97=E0=B8=B4=E0=B8=95=E0=B8=A2=E0=B9=8C=E0=B8=AD?= =?UTF-8?q?=E0=B8=AD=E0=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/MetaData/HolidayRepository.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Application/Repositories/MetaData/HolidayRepository.cs b/BMA.EHR.Application/Repositories/MetaData/HolidayRepository.cs index c5c09a44..1c8ae006 100644 --- a/BMA.EHR.Application/Repositories/MetaData/HolidayRepository.cs +++ b/BMA.EHR.Application/Repositories/MetaData/HolidayRepository.cs @@ -49,12 +49,16 @@ namespace BMA.EHR.Application.Repositories.MetaData public async Task GetHolidayCountAsync(DateTime startDate, DateTime endDate, string category = "NORMAL") { - var data = await _dbContext.Set().AsQueryable() + var query = _dbContext.Set().AsQueryable() .Where(x => x.Category == category) - .Where(x => x.HolidayDate.Date >= startDate && x.HolidayDate.Date <= endDate) - .CountAsync(); + .Where(x => x.HolidayDate.Date >= startDate && x.HolidayDate.Date <= endDate); - return data; + if (category == "NORMAL") + query = query.Where(x => x.HolidayDate.DayOfWeek != DayOfWeek.Saturday && x.HolidayDate.DayOfWeek != DayOfWeek.Sunday); + else + query = query.Where(x => x.HolidayDate.DayOfWeek != DayOfWeek.Sunday); + + return await query.CountAsync(); } public List GetWeekEnd(DateTime startDate, DateTime endDate, string category = "NORMAL") From 0365fad723625edb50ae40da0b85c128ad6d05b7 Mon Sep 17 00:00:00 2001 From: harid Date: Tue, 12 May 2026 14:59:22 +0700 Subject: [PATCH 31/90] Migrate add field PlacementReceives.rank #2469 --- .../Models/Placement/PlacementReceive.cs | 4 + ...ate_PlacementReceives_add_rank.Designer.cs | 21250 ++++++++++++++++ ...73417_update_PlacementReceives_add_rank.cs | 30 + .../ApplicationDBContextModelSnapshot.cs | 4 + .../Controllers/PlacementReceiveController.cs | 5 + .../Requests/PlacementReceiveEditRequest.cs | 3 +- .../Requests/PlacementReceiveRequest.cs | 4 +- 7 files changed, 21298 insertions(+), 2 deletions(-) create mode 100644 BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.cs diff --git a/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs b/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs index 9d366d19..5187360e 100644 --- a/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs +++ b/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs @@ -64,6 +64,10 @@ namespace BMA.EHR.Domain.Models.Placement public string? profileId { get; set; } [Comment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē")] public string? prefix { get; set; } + + [Comment("āļĒāļĻ")] + public string? rank { get; set; } + [Comment("āļŠāļ·āđˆāļ­")] public string? firstName { get; set; } [Comment("āļ™āļēāļĄāļŠāļāļļāļĨ")] diff --git a/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.Designer.cs b/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.Designer.cs new file mode 100644 index 00000000..b65f0774 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.Designer.cs @@ -0,0 +1,21250 @@ +ïŧŋ// +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 +{ + [DbContext(typeof(ApplicationDBContext))] + [Migration("20260512073417_update_PlacementReceives_add_rank")] + partial class update_PlacementReceives_add_rank + { + /// + 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.Commands.Core.Command", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļĢāļąāļāļĐāļēāļāļēāļĢāđāļ—āļ™"); + + b.Property("ActStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļĢāļąāļāļĐāļēāļāļēāļĢāđāļ—āļ™"); + + b.Property("AuthorizedPosition") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("AuthorizedUserFullName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("AuthorizedUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("CaseFault") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ChairManFullName") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āļ˜āļēāļ™āļ„āļ“āļ°āļāļĢāļĢāļĄāļāļēāļĢ"); + + b.Property("CommandAffectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡āļĄāļĩāļœāļĨ"); + + b.Property("CommandExcecuteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandNo") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandStatusId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŠāļ–āļēāļ™āļ°āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandSubject") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.Property("CommandTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandYear") + .IsRequired() + .HasMaxLength(4) + .HasColumnType("varchar(4)") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("ComplaintId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĢāļ·āđˆāļ­āļ‡āļĢāđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ™"); + + b.Property("ConclusionFireDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionFireNo") + .HasColumnType("longtext") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionFireResolution") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļīāļ—āļĩāđˆāļ›āļĢāļ°āļŠāļļāļĄ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionMeetingDate") + .HasColumnType("datetime(6)") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ConclusionMeetingNo") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ConclusionReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™)"); + + b.Property("ConclusionReceiveNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™)"); + + b.Property("ConclusionRegisterDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļĢāļąāļšāļŠāļĄāļąāļ„āļĢāļŠāļ­āļšāļŊ)"); + + b.Property("ConclusionRegisterNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļĢāļąāļšāļŠāļĄāļąāļ„āļĢāļŠāļ­āļšāļŊ)"); + + b.Property("ConclusionResultDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļœāļĨāļāļēāļĢāļŠāļ­āļšāđāļ‚āđˆāļ‡āļ‚āļąāļ™)"); + + b.Property("ConclusionResultNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļœāļĨāļāļēāļĢāļŠāļ­āļšāđāļ‚āđˆāļ‡āļ‚āļąāļ™)"); + + b.Property("ConclusionReturnDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļāļĨāļąāļšāđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("ConclusionReturnNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļāļĨāļąāļšāđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("ConclusionTranferDate") + .HasColumnType("datetime(6)") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ConclusionTranferNo") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Fault") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļāļĢāļ°āļ—āļģāļœāļīāļ”"); + + b.Property("FaultLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("GovAidCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āļ„āļģāļŠāļąāđˆāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("GovAidCommandNo") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ (āļ„āļģāļŠāļąāđˆāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("GuiltyBasis") + .HasColumnType("longtext") + .HasComment("āļāļēāļ™āļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("IssuerOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("IssuerOrganizationName") + .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("Member1FullName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļĢāļĄāļāļēāļĢāļ„āļ™āļ—āļĩāđˆ 1"); + + b.Property("Member2FullName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļĢāļĄāļāļēāļĢāļ„āļ™āļ—āļĩāđˆ 2"); + + b.Property("MilitaryCommanDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ)"); + + b.Property("MilitaryCommandNo") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆ (āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ)"); + + b.Property("OwnerGovId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļœāļđāđ‰āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PlacementCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("PlacementCommandIssuer") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementId") + .HasColumnType("char(36)") + .HasComment("āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļĢāļ­āļšāļāļēāļĢāļŠāļ­āļš"); + + b.Property("PlacementOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementPositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("ProbationEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļ—āļ”āļĨāļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ProbationStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ—āļ”āļĨāļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReceiveOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāļĢāļąāļšāđ‚āļ­āļ™"); + + b.Property("RefRaw") + .HasColumnType("longtext") + .HasComment("āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļĄāļēāļ•āļĢāļēāļ•āļēāļĄāļāļāļŦāļĄāļēāļĒ"); + + b.Property("Result") + .HasColumnType("longtext") + .HasComment("āļœāļĨāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļē"); + + b.Property("SalaryPeriod") + .HasColumnType("longtext") + .HasComment("āļĢāļ­āļšāđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryPeriodId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĢāļ·āđˆāļ­āļ‡āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SourceOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ” āļāđˆāļ­āļ™āļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ"); + + b.Property("TransferOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāđƒāļŦāđ‰āđ‚āļ­āļ™"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("varchar(4)") + .HasComment("āļ›āļĩāļĢāļ­āļšāđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.HasKey("Id"); + + b.HasIndex("CommandStatusId"); + + b.HasIndex("CommandTypeId"); + + b.HasIndex("PlacementId"); + + b.ToTable("Commands"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CommandId") + .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("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .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("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("ReceiveUserId") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļĢāļ°āļšāļš"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.ToTable("CommandDeployments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āđ€āļ­āļāļŠāļēāļĢ"); + + b.Property("CommandId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.HasIndex("DocumentId"); + + b.ToTable("CommandDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BirthDate") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CommandId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Comment2") + .IsRequired() + .HasColumnType("text") + .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("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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionNumber") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("RefDisciplineId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļīāļ™āļąāļĒ"); + + b.Property("RefPlacementProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āļšāļĢāļĢāļˆāļļ"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāđƒāļ™āļšāļąāļāļŠāļĩāđāļ™āļšāļ—āđ‰āļēāļĒ"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.ToTable("CommandReceivers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", 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() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CommandStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandCode") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("CommandTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.DeploymentChannel", 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("IsSendEmail") + .HasColumnType("tinyint(1)"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)"); + + 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.ToTable("DeploymentChannels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Documents"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", 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") + .HasColumnType("longtext") + .HasComment("āļĒāļąāļ‡āđ„āļĄāđˆāļŠāļąāļ§āđƒāļŠāđ‰āļ­āļ°āđ„āļĢāđ€āļ›āđ‡āļ™key"); + + b.HasKey("Id"); + + b.ToTable("LimitLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", 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("LimitLeaveId") + .HasColumnType("char(36)"); + + b.Property("NumLeave") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļĩāđˆāļĨāļēāđ„āļ”āđ‰"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LimitLeaveId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("LimitTypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Ability") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("AvatarId") + .HasColumnType("char(36)"); + + b.Property("AvatarRef") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("CitizenId") + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āļĢāļŦāļąāļŠāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("Couple") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastNameOld") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ(āđ€āļ”āļīāļĄ)"); + + b.Property("CoupleLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CouplePrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUser") + .IsRequired() + .HasMaxLength(250) + .HasColumnType("varchar(250)"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CurrentAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateRetire") + .HasColumnType("datetime(6)"); + + b.Property("DateStart") + .HasColumnType("datetime(6)"); + + b.Property("DutyTimeEffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļĄāļĩāļœāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("EmployeeClass") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeMoneyAllowance") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāđˆāļ§āļĒāđ€āļŦāļĨāļ·āļ­āļ„āđˆāļēāļ„āļĢāļ­āļ‡āļŠāļĩāļžāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§"); + + b.Property("EmployeeMoneyEmployee") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāļĄāļ—āļšāļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ(āļĨāļđāļāļˆāđ‰āļēāļ‡)"); + + b.Property("EmployeeMoneyEmployer") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāļĄāļ—āļšāļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ(āļ™āļēāļĒāļˆāđ‰āļēāļ‡)"); + + b.Property("EmployeeMoneyIncrease") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļžāļīāđˆāļĄāļāļēāļĢāļ„āļĢāļ­āļ‡āļŠāļĩāļžāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§"); + + b.Property("EmployeeOc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("EmployeeType") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeTypeIndividual") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļšāļļāļ„āļ„āļĨ"); + + b.Property("EmployeeWage") + .HasColumnType("double") + .HasComment("āļ„āđˆāļēāļˆāđ‰āļēāļ‡"); + + b.Property("EntryStatus") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.Property("FatherCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļšāļīāļ”āļē"); + + b.Property("FatherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļšāļīāļ”āļē"); + + b.Property("FatherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("FirstNameOld") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­(āđ€āļ”āļīāļĄ)"); + + b.Property("GenderId") + .HasColumnType("char(36)"); + + b.Property("GovAgeAbsent") + .HasColumnType("int"); + + b.Property("GovAgePlus") + .HasColumnType("int"); + + b.Property("GovernmentCode") + .HasColumnType("longtext"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsLeave") + .HasColumnType("tinyint(1)"); + + b.Property("IsProbation") + .HasColumnType("tinyint(1)"); + + b.Property("IsSendVerified") + .HasColumnType("tinyint(1)"); + + b.Property("IsTransfer") + .HasColumnType("tinyint(1)"); + + b.Property("IsVerified") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("LastNameOld") + .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("LeaveDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveDateOrder") + .HasColumnType("datetime(6)"); + + b.Property("LeaveDetail") + .HasColumnType("longtext"); + + b.Property("LeaveNumberOrder") + .HasColumnType("longtext"); + + b.Property("LeaveReason") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)"); + + b.Property("LimitLeaveId") + .HasColumnType("char(36)"); + + b.Property("ModifiedDate") + .HasColumnType("datetime(6)"); + + b.Property("MotherCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("Physical") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļžāļ—āļēāļ‡āļāļēāļĒ"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLineId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("PrefixId") + .HasColumnType("char(36)"); + + b.Property("PrefixOldId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē(āđ€āļ”āļīāļĄ)"); + + b.Property("ProfileType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("ReasonSameDate") + .HasColumnType("longtext"); + + b.Property("RegistrationAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("RegistrationSubDistrictId") + .HasColumnType("char(36)") + .HasComment("āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RelationshipId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("ReligionId") + .HasColumnType("char(36)") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.Property("TransferDate") + .HasColumnType("datetime(6)"); + + b.Property("VerifiedDate") + .HasColumnType("datetime(6)"); + + b.Property("VerifiedUser") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.HasIndex("AvatarId"); + + b.HasIndex("GenderId"); + + b.HasIndex("LimitLeaveId"); + + b.HasIndex("PosNoId"); + + b.HasIndex("PositionEmployeeGroupId"); + + b.HasIndex("PositionEmployeeLevelId"); + + b.HasIndex("PositionEmployeeLineId"); + + b.HasIndex("PositionEmployeePositionId"); + + b.HasIndex("PositionEmployeePositionSideId"); + + b.HasIndex("PositionId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionTypeId"); + + b.HasIndex("PrefixId"); + + b.ToTable("Profiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", 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("Detail") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("Field") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAbilitys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbilityHistory", 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("Detail") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("Field") + .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("ProfileAbilityId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileAbilityId"); + + b.ToTable("ProfileAbilityHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAddressHistory", 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("CurrentAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrict") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvince") + .HasColumnType("longtext") + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrict") + .HasColumnType("longtext") + .HasComment("āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .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)"); + + b.Property("RegistrationAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrict") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvince") + .HasColumnType("longtext") + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("RegistrationSubDistrict") + .HasColumnType("longtext") + .HasComment("āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđāļšāļšāļ›āļĢāļ°āđ€āļĄāļīāļ™"); + + b.Property("Point1") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point1Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSum") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSumTotal") + .HasColumnType("double") + .HasComment("āļœāļĨāļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAssessments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessmentHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđāļšāļšāļ›āļĢāļ°āđ€āļĄāļīāļ™"); + + b.Property("Point1") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point1Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSum") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSumTotal") + .HasColumnType("double") + .HasComment("āļœāļĨāļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("ProfileAssessmentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileAssessmentId"); + + b.ToTable("ProfileAssessmentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAvatarHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AvatarFileId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("AvatarFileId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAvatarHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCertificates"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificateHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("ProfileCertificateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileCertificateId"); + + b.ToTable("ProfileCertificateHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("LastName") + .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("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Status") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileChangeNames"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeNameHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("LastName") + .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("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileChangeNameId") + .HasColumnType("char(36)"); + + b.Property("Status") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileChangeNameId"); + + b.ToTable("ProfileChangeNameHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ChildrenCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļļāļ•āļĢ"); + + b.Property("ChildrenFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļļāļ•āļĢ"); + + b.Property("ChildrenLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefixId") + .HasColumnType("char(36)") + .HasComment("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("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileChildrens"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildrenHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ChildrenCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļļāļ•āļĢ"); + + b.Property("ChildrenFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļļāļ•āļĢ"); + + b.Property("ChildrenLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefixId") + .HasColumnType("char(36)") + .HasComment("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("ProfileChildrenId") + .HasColumnType("char(36)"); + + b.Property("ProfileFamilyHistoryId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileChildrenId"); + + b.HasIndex("ProfileFamilyHistoryId"); + + b.ToTable("ProfileChildrenHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCoupleHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCoupleHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCurrentAddressHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Address") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCurrentAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("Level") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileDisciplines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDisciplineHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("Level") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ProfileDisciplineId") + .HasColumnType("char(36)"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileDisciplineId"); + + b.ToTable("ProfileDisciplineHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", 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("Detail") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileDutys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDutyHistory", 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("Detail") + .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("ProfileDutyId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileDutyId"); + + b.ToTable("ProfileDutyHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Id āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļŠāļ–āļēāļ™āļĻāļķāļāļĐāļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileEducations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducationHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Id āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileEducationId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileEducationId"); + + b.ToTable("ProfileEducationHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmployment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Command") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileEmployments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmploymentHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Command") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .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("ProfileEmploymentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileEmploymentId"); + + b.ToTable("ProfileEmploymentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Couple") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastNameOld") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ(āđ€āļ”āļīāļĄ)"); + + b.Property("CouplePrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CouplePrefixId") + .HasColumnType("char(36)") + .HasComment("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("FatherCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("FatherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("MotherCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileFamilyHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFatherHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileFatherHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileGovernmentHistory", 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("DateAppoint") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("DateStart") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļĢāļīāđˆāļĄāļ›āļŽāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAge") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļĒāļļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAgeAbsent") + .HasColumnType("int") + .HasComment("āļ‚āļēāļ”āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAgePlus") + .HasColumnType("int") + .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("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Position") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeeGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ReasonSameDate") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļĢāļ“āļĩāđ„āļĄāđˆāļ•āļĢāļ‡āļ§āļąāļ™"); + + b.Property("RetireDate") + .HasColumnType("longtext") + .HasComment("āļ§āļąāļ™āđ€āļāļĐāļĩāļĒāļ“āļ­āļēāļĒāļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileGovernmentHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)") + .HasComment("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("EmployeeClass") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeType") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļˆāđ‰āļēāļ‡"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("āđ€āļžāļĻ"); + + b.Property("GenderId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļžāļĻ"); + + 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("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("RelationshipId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("āļĻāļēāļŠāļ™āļē"); + + b.Property("ReligionId") + .HasColumnType("char(36)") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", 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("Detail") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļē"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileHonors"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonorHistory", 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("Detail") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("ProfileHonorId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileHonorId"); + + b.ToTable("ProfileHonorHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", 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("DateAnnounce") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļĢāļēāļŠāļāļīāļˆāļˆāļēāļŊ"); + + b.Property("InsigniaId") + .HasColumnType("char(36)"); + + b.Property("InsigniaType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Issue") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .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("No") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Page") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.Property("Section") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļ•āļ­āļ™"); + + b.Property("Volume") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄ"); + + b.Property("VolumeNo") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileInsignias"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsigniaHistory", 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("DateAnnounce") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļĢāļēāļŠāļāļīāļˆāļˆāļēāļŊ"); + + b.Property("Insignia") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("InsigniaId") + .HasColumnType("char(36)"); + + b.Property("InsigniaType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Issue") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .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("No") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Page") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļŦāļ™āđ‰āļē"); + + b.Property("ProfileInsigniaId") + .HasColumnType("char(36)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Section") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļ•āļ­āļ™"); + + b.Property("Volume") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄ"); + + b.Property("VolumeNo") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileInsigniaId"); + + b.ToTable("ProfileInsigniaHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", 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("DateEndLeave") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("DateStartLeave") + .HasColumnType("datetime(6)") + .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("NumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.Property("SumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļĄāļēāđāļĨāđ‰āļ§"); + + b.Property("TotalLeave") + .HasColumnType("double") + .HasComment("āļĢāļ§āļĄāđ€āļ›āđ‡āļ™"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("ProfileLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveHistory", 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("DateEndLeave") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("DateStartLeave") + .HasColumnType("datetime(6)") + .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("NumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ProfileLeaveId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.Property("SumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļĄāļēāđāļĨāđ‰āļ§"); + + b.Property("TotalLeave") + .HasColumnType("double") + .HasComment("āļĢāļ§āļĄāđ€āļ›āđ‡āļ™"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileLeaveId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("ProfileLeaveHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveSummary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("LeaveYear") + .HasColumnType("int"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("SumAbsent") + .HasColumnType("longtext"); + + b.Property("SumEducation") + .HasColumnType("longtext"); + + b.Property("SumLate") + .HasColumnType("longtext"); + + b.Property("SumRest") + .HasColumnType("longtext"); + + b.Property("SumSick") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileLeaveSummary"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileMotherHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileMotherHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileNopaids"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaidHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("ProfileNopaidId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileNopaidId"); + + b.ToTable("ProfileNopaidHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOrganization", 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("OrganizationId") + .HasColumnType("char(36)") + .HasComment("Id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāļąāļ‡āļāļąāļ”"); + + b.Property("UserId") + .HasColumnType("char(36)") + .HasComment("User Id KeyCloak"); + + b.HasKey("Id"); + + b.ToTable("ProfileOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Detail") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileOthers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOtherHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Detail") + .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("ProfileOtherId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileOtherId"); + + b.ToTable("ProfileOtherHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfilePaper", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CategoryName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āđ„āļŸāļĨāđŒ-āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Detail") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfilePapers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileRegistrationAddressHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Address") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileRegistrationAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AgencyName") + .HasColumnType("longtext") + .HasComment("AgencyName"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("CLevel") + .HasColumnType("longtext") + .HasComment("CLevel"); + + b.Property("CommandNo") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandTypeName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļĢāļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.Property("OrgName") + .HasColumnType("longtext") + .HasComment("OrgName"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoName") + .HasColumnType("longtext") + .HasComment("PosNoName"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveName") + .HasColumnType("longtext") + .HasComment("PositionExecutiveName"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelName") + .HasColumnType("longtext"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineName") + .HasColumnType("longtext") + .HasComment("PositionLineName"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("PositionName"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideName") + .HasColumnType("longtext") + .HasComment("PositionPathSideName"); + + b.Property("PositionRef") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("Id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeName") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("SalaryStatus") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡āļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ"); + + b.HasKey("Id"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileSalaries"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("PosNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Position") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeeGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("Id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileSalaryId") + .HasColumnType("char(36)"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileSalaryId"); + + b.ToTable("ProfileSalaryHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryOrganization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("PositionId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PositionId"); + + b.ToTable("ProfileSalaryPositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionNumber", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionsNumbers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", 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("DateOrder") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ/āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Department") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļˆāļąāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Duration") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļĢāļ§āļĄāļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļē"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļāļēāļĢ/āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ"); + + b.Property("NumberOrder") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡/āđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Place") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Topic") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āļ‚āđ‰āļ­āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Yearly") + .HasMaxLength(200) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļšāļĢāļĄ (āļž.āļĻ.)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileTrainings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTrainingHistory", 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("DateOrder") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ/āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Department") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļˆāļąāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Duration") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļĢāļ§āļĄāļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļāļēāļĢ/āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ"); + + b.Property("NumberOrder") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡/āđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Place") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("ProfileTrainingId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Topic") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āļ‚āđ‰āļ­āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Yearly") + .HasMaxLength(200) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļšāļĢāļĄ (āļž.āļĻ.)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileTrainingId"); + + b.ToTable("ProfileTrainingHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.TypeLeave", 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") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("TypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaEmployee", 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("InsigniaPeriodId") + .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("RefId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaPeriodId"); + + b.ToTable("InsigniaEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", 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("InsigniaId") + .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("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩ"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaId"); + + b.ToTable("InsigniaManages"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", 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("InsigniaManageId") + .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("Organization") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("OrganizationId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaManageId"); + + b.ToTable("InsigniaManageOrganiations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BorrowDate") + .HasColumnType("datetime(6)") + .HasComment("āļĒāļ·āļĄāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("BorrowOrganization") + .HasColumnType("longtext"); + + b.Property("BorrowOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Borrow"); + + 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("InsigniaManageOrganiationId") + .HasColumnType("char(36)"); + + b.Property("InsigniaNoteProfileId") + .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("ReturnDate") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļ·āļ™āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ReturnOrganization") + .HasColumnType("longtext"); + + b.Property("ReturnOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Return"); + + b.Property("ReturnReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ„āļ·āļ™"); + + b.Property("Status") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ„āļ·āļ™"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaManageOrganiationId"); + + b.HasIndex("InsigniaNoteProfileId"); + + b.ToTable("InsigniaManageProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNote", 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") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("InsigniaNotes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("InsigniaNoteId") + .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("Reason") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("InsigniaNoteId"); + + b.ToTable("InsigniaNoteDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Address") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ—āļĩāđˆāļˆāđˆāļēāļĒ"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DatePayment") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļˆāđˆāļēāļĒāđƒāļšāļāļģāļāļąāļš"); + + b.Property("DateReceive") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DateReceiveInsignia") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DateReturnInsignia") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DocReceiveInsigniaId") + .HasColumnType("char(36)"); + + b.Property("DocReturnInsigniaId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("InsigniaNoteId") + .HasColumnType("char(36)"); + + b.Property("IsApprove") + .HasColumnType("tinyint(1)"); + + b.Property("Issue") + .HasColumnType("longtext") + .HasComment("āļ—āļ°āđ€āļšāļĩāļĒāļ™āļāļēāļ™āļąāļ™āļ”āļĢ"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("No") + .HasColumnType("longtext") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Number") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ›āļĢāļ°āļāļēāļĻāļ™āļĩāļĒāļšāļąāļ•āļĢāļāļģāļāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReceiveInsignia") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReceiveInsigniaId") + .HasColumnType("char(36)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReturnInsignia") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReturnInsigniaId") + .HasColumnType("char(36)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrganizationOrganizationReceive") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ” āļ“ āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrganizationOrganizationSend") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ” āļ“ āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("Page") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("PosLevelName") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PosTypeName") + .HasColumnType("longtext"); + + b.Property("Position") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RequestDate") + .HasColumnType("datetime(6)"); + + b.Property("RequestInsigniaId") + .HasColumnType("char(36)"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double"); + + b.Property("Section") + .HasColumnType("longtext") + .HasComment("āļ•āļ­āļ™āļ—āļĩāđˆ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("TypePayment") + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļˆāđˆāļēāļĒ"); + + b.Property("VolumeNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.HasKey("Id"); + + b.HasIndex("DocReceiveInsigniaId"); + + b.HasIndex("DocReturnInsigniaId"); + + b.HasIndex("InsigniaNoteId"); + + b.HasIndex("RequestInsigniaId"); + + b.ToTable("InsigniaNoteProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasMaxLength(50) + .HasColumnType("int") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsLock") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢ Freez āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + 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") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ­āļšāđ€āļŠāļ™āļ­āļ‚āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("ReliefDocId") + .HasColumnType("char(36)"); + + b.Property("RevisionId") + .HasColumnType("char(36)"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļĢāļēāļšāļāļēāļĢāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄ"); + + b.Property("Type") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļ‚āļ­"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩ"); + + b.HasKey("Id"); + + b.HasIndex("ReliefDocId"); + + b.ToTable("InsigniaPeriods"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaReclaimProfile", 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("InsigniaNoteProfileId") + .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("ReclaimDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ„āļ·āļ™"); + + b.Property("ReclaimOrganization") + .HasColumnType("longtext"); + + b.Property("ReclaimOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Borrow"); + + b.Property("ReclaimReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ„āļ·āļ™"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaNoteProfileId"); + + b.ToTable("InsigniaReclaimProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PeriodId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RequestNote") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestStatus") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PeriodId"); + + b.ToTable("InsigniaRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequestProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("APR1") + .HasColumnType("longtext"); + + b.Property("APR2") + .HasColumnType("longtext"); + + b.Property("APR3") + .HasColumnType("longtext"); + + b.Property("APR4") + .HasColumnType("longtext"); + + b.Property("APR5") + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsApprove") + .HasColumnType("tinyint(1)"); + + b.Property("LastInsigniaName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("MarkDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āļĄāļĩāđ‚āļ—āļĐāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("MarkInsignia") + .HasColumnType("tinyint(1)"); + + b.Property("MarkLeave") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļĨāļ·āđˆāļ­āļ™āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™/āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļĨāļ·āđˆāļ­āļ™āļ‚āļąāđ‰āļ™ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĨāļēāđ€āļāļīāļ™"); + + b.Property("MarkRate") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āļœāļĨāļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāđƒāļ™āļĢāļ­āļš 5 āļ›āļĩ āļ•āđˆāļģāļāļ§āđˆāļēāļĢāļ°āļ”āļąāļšāļ”āļĩ (āļ™āđ‰āļ­āļĒāļāļ§āđˆāļēāļĢāđ‰āļ­āļĒāļĨāļ° 70)"); + + b.Property("MatchingConditions") + .HasColumnType("text") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊāļ—āļĩāđˆāļ‚āļ­"); + + b.Property("OCT1") + .HasColumnType("longtext"); + + b.Property("OCT2") + .HasColumnType("longtext"); + + b.Property("OCT3") + .HasColumnType("longtext"); + + b.Property("OCT4") + .HasColumnType("longtext"); + + b.Property("OCT5") + .HasColumnType("longtext"); + + b.Property("PosLevelName") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PosTypeName") + .HasColumnType("longtext"); + + b.Property("Position") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāđ„āļ”āđ‰āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("ReasonReject") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("RequestDate") + .HasColumnType("datetime(6)"); + + b.Property("RequestId") + .HasColumnType("char(36)"); + + b.Property("RequestInsigniaId") + .HasColumnType("char(36)"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("RequestId"); + + b.HasIndex("RequestInsigniaId"); + + b.ToTable("InsigniaRequestProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.BloodGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("varchar(2)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŦāļĄāļđāđˆāđ‚āļĨāļŦāļīāļ•"); + + b.HasKey("Id"); + + b.ToTable("BloodGroups"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āđ€āļ‚āļ•/āļ­āļģāđ€āļ āļ­"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProvinceId"); + + b.ToTable("Districts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.EducationLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļĢāļ°āļ”āļąāļšāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.HasKey("Id"); + + b.ToTable("EducationLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Gender", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasColumnOrder(1) + .HasComment("āđ€āļžāļĻ"); + + b.HasKey("Id"); + + b.ToTable("Genders"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Holiday", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(6) + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļģāļŦāļĢāļąāļš āļ—āļģāļ‡āļēāļ™ 5 āļ§āļąāļ™=`NORMAL`,āļ—āļģāļ‡āļēāļ™ 6 āļ§āļąāļ™=`6DAYS`"); + + 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("HolidayDate") + .HasColumnType("datetime(6)") + .HasColumnOrder(2) + .HasComment("āļ§āļąāļ™āļŦāļĒāļļāļ”"); + + b.Property("IsSpecial") + .HasColumnType("tinyint(1)") + .HasColumnOrder(5) + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āļžāļīāđ€āļĻāļĐāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(250) + .HasColumnType("varchar(250)") + .HasColumnOrder(4) + .HasComment("āļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”"); + + b.Property("OriginalDate") + .HasColumnType("datetime(6)") + .HasColumnOrder(3) + .HasComment("āļ§āļąāļ™āļŦāļĒāļļāļ”(Original)"); + + b.Property("Year") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.HasKey("Id"); + + b.ToTable("Holidays"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Insignia", 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("InsigniaTypeId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Level") + .HasColumnType("int") + .HasColumnOrder(4) + .HasComment("āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ āđ€āļ­āļēāđ„āļ§āđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ§āļĨāļēāļ‚āļ­āļ§āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰āļŠāļąāđ‰āļ™āļ—āļĩāđˆāļŠāļđāļ‡āļāļ§āđˆāļēāļ—āļĩāđˆāđ€āļ„āļĒāđ„āļ”āđ‰āļĢāļąāļšāđāļĨāđ‰āļ§āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaTypeId"); + + b.ToTable("Insignias"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.InsigniaType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.HasKey("Id"); + + b.ToTable("InsigniaTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("OrganizationAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationFax", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢāļŠāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationFaxs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationGovernmentAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("OrganizationGovernmentAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļ°āļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("OrganizationLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AgencyCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("GovernmentCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(4) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(3) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļ•āļąāļ§āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationShortNames"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.ToTable("OrganizationStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāļ•āļīāļ”āļ•āđˆāļ­āļ āļēāļĒāļ™āļ­āļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTelExternals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāļ•āļīāļ”āļ•āđˆāļ­āļ āļēāļĒāđƒāļ™"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTelInternals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļ›āļĢāļ°āđ€āļ āļ—"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PhysicalStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļžāļ—āļēāļ‡āļāļēāļĒ"); + + b.HasKey("Id"); + + b.ToTable("PhysicalStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Position", 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("ExecutiveName") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(3) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("ExecutiveSideId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(9) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionCategory") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(8) + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŦāļĢāļ·āļ­āļĨāļđāļāļˆāđ‰āļēāļ‡ officer/employee"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExecutiveSideId"); + + b.HasIndex("PathSideId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionTypeId"); + + b.ToTable("Positions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļāļĨāļļāđˆāļĄāļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeGroups"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeLines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeePositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionExecutive", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionExecutives"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionExecutiveSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(5) + .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("Level") + .HasColumnType("int") + .HasColumnOrder(4) + .HasComment("āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āļ­āļ‡āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(3) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("PositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionLines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionPath", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionPaths"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionPathSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionPathSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionStatuss"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("PositionTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Prefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(2) + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("Prefixes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Province", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("Provinces"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Relationship", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ"); + + b.HasKey("Id"); + + b.ToTable("Relationships"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Religion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļĻāļēāļŠāļ™āļē"); + + b.HasKey("Id"); + + b.ToTable("Religions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Royal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŦāļĢāļĩāļĒāļāļ•āļĢāļē"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āđ€āļŦāļĢāļĩāļĒāļāļ•āļĢāļē"); + + b.HasKey("Id"); + + b.ToTable("Royals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.RoyalHierarchy", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.HasKey("Id"); + + b.ToTable("RoyalHierarchys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.RoyalType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.HasKey("Id"); + + b.ToTable("RoyalTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.SubDistrict", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āđ€āļ‚āļ•/āļ­āļģāđ€āļ āļ­"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasColumnOrder(2) + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒ"); + + b.HasKey("Id"); + + b.HasIndex("DistrictId"); + + b.ToTable("SubDistricts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.Inbox", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("DeleteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsOpen") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āļīāļ”āļ­āđˆāļēāļ™āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("longtext"); + + 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("OpenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ­āđˆāļēāļ™"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("Inboxes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.MessageQueueEntity", 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("IsSend") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡?"); + + b.Property("IsSendEmail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āđ„āļ›āļ—āļĩāđˆāļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("MessageContent") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("MessagePayLoad") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiverEmailAddress") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("āļ­āļĩāđ€āļĄāļĨāđŒāļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("SenderSystem") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāđˆāļ‡āļˆāļēāļāļĢāļ°āļšāļšāļ‡āļēāļ™"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("MessageQueues"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.Notification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("DeleteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsOpen") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āļīāļ”āļ­āđˆāļēāļ™āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("longtext"); + + 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("OpenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ­āđˆāļēāļ™"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™"); + + b.HasKey("Id"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Agency") + .HasColumnType("longtext"); + + b.Property("ConditionNote") + .HasColumnType("longtext"); + + 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("Department") + .HasColumnType("longtext"); + + b.Property("Government") + .HasColumnType("longtext"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsCondition") + .HasColumnType("tinyint(1)"); + + b.Property("IsDirector") + .HasColumnType("tinyint(1)"); + + b.Property("IsPublic") + .HasColumnType("tinyint(1)"); + + 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("OrganizationAgencyId") + .HasColumnType("char(36)"); + + b.Property("OrganizationFaxId") + .HasColumnType("char(36)"); + + b.Property("OrganizationGovernmentAgencyId") + .HasColumnType("char(36)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationLevelId") + .HasColumnType("char(36)"); + + b.Property("OrganizationOrder") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelExternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelInternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTypeId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserNote") + .HasColumnType("longtext"); + + b.Property("Pile") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PositionCondition") + .HasColumnType("longtext"); + + b.Property("PositionEmployeeLineId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeStatusId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Qualification") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationAgencyId"); + + b.HasIndex("OrganizationFaxId"); + + b.HasIndex("OrganizationGovernmentAgencyId"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("OrganizationLevelId"); + + b.HasIndex("OrganizationOrganizationId"); + + b.HasIndex("OrganizationShortNameId"); + + b.HasIndex("OrganizationTelExternalId"); + + b.HasIndex("OrganizationTelInternalId"); + + b.HasIndex("OrganizationTypeId"); + + b.HasIndex("PositionEmployeeLineId"); + + b.HasIndex("PositionEmployeePositionId"); + + b.HasIndex("PositionEmployeeStatusId"); + + b.HasIndex("ProfileId"); + + b.ToTable("OrganizationEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationEmployeeProfile", 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("OrgEmployeeId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("OrgEmployeeId"); + + b.HasIndex("ProfileId"); + + b.ToTable("OrganizationEmployeeProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeeLevel", 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("OrganizationEmployeeId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationEmployeeId"); + + b.HasIndex("PositionEmployeeLevelId"); + + b.ToTable("OrganizationPositionEmployeeLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeePositionSide", 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("OrganizationEmployeeId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationEmployeeId"); + + b.HasIndex("PositionEmployeePositionSideId"); + + b.ToTable("OrganizationPositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.AvailablePositionLevelEntity", 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("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionMasterId"); + + b.ToTable("AvailablePositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Agency") + .HasColumnType("longtext") + .HasColumnOrder(14) + .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("Department") + .HasColumnType("longtext") + .HasColumnOrder(16) + .HasComment("āļāđˆāļēāļĒ/āļŠāđˆāļ§āļ™"); + + b.Property("Government") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("OrganizationAgencyId") + .HasColumnType("char(36)") + .HasColumnOrder(10) + .HasComment("OrganizationAgencyId"); + + b.Property("OrganizationFaxId") + .HasColumnType("char(36)"); + + b.Property("OrganizationGovernmentAgencyId") + .HasColumnType("char(36)") + .HasColumnOrder(11) + .HasComment("OrganizationGovernmentAgencyId"); + + b.Property("OrganizationLevelId") + .HasColumnType("char(36)"); + + b.Property("OrganizationOrder") + .HasColumnType("int") + .HasColumnOrder(12) + .HasComment("OrganizationOrder"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("OrganizationStatusId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelExternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelInternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTypeId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("OrganizationUserNote"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("Pile") + .HasColumnType("longtext") + .HasColumnOrder(17) + .HasComment("āļāļ­āļ‡"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationFaxId"); + + b.HasIndex("OrganizationLevelId"); + + b.HasIndex("OrganizationOrganizationId"); + + b.HasIndex("OrganizationShortNameId"); + + b.HasIndex("OrganizationStatusId"); + + b.HasIndex("OrganizationTelExternalId"); + + b.HasIndex("OrganizationTelInternalId"); + + b.HasIndex("OrganizationTypeId"); + + b.HasIndex("ParentId"); + + b.ToTable("Organizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("Is Director"); + + 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("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberId") + .HasColumnType("char(36)"); + + b.Property("PositionUserNote") + .HasColumnType("longtext") + .HasColumnOrder(4) + .HasComment("positionUserNote"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("PositionMasterId"); + + b.HasIndex("PositionNumberId"); + + b.ToTable("OrganizationPositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPublishHistoryEntity", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(1) + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāđāļāđ‰āđ„āļ‚"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ObjectValue") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(2) + .HasComment("āđ€āļāđ‡āļš Object āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ­āļąāļžāđ€āļ”āļ•āđƒāļ™āļĢāļ°āļšāļš"); + + b.HasKey("Id"); + + b.ToTable("OrganizationPublishHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(14) + .HasComment("IsDirector"); + + 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("PositionCondition") + .HasColumnType("longtext") + .HasColumnOrder(11) + .HasComment("PositionCondition"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutiveSideObject") + .HasColumnType("longtext"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasColumnOrder(2) + .HasComment("PositionId"); + + b.Property("PositionLineId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("PositionMasterUserNote"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideObject") + .HasColumnType("longtext"); + + b.Property("PositionStatusId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("Qualification") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļ„āļļāļ“āļ§āļļāļ’āļī"); + + b.HasKey("Id"); + + b.HasIndex("PositionExecutiveId"); + + b.HasIndex("PositionExecutiveSideId"); + + b.HasIndex("PositionLineId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionPathSideId"); + + b.HasIndex("PositionStatusId"); + + b.HasIndex("PositionTypeId"); + + b.ToTable("PositionMasters"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterHistoryEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(14) + .HasComment("IsDirector"); + + 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("Position") + .HasColumnType("longtext") + .HasColumnOrder(2) + .HasComment("Position"); + + b.Property("PositionCondition") + .HasColumnType("longtext") + .HasColumnOrder(11) + .HasComment("PositionCondition"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("PositionExecutive"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasColumnOrder(6) + .HasComment("PositionExecutiveSide"); + + b.Property("PositionExecutiveSideObject") + .HasColumnType("longtext"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasColumnOrder(12) + .HasComment("PositionLevel"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasColumnOrder(8) + .HasComment("PositionLine"); + + b.Property("PositionMasterEntityId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("PositionMasterUserNote"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("PositionPath"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasColumnOrder(7) + .HasComment("PositionPathSide"); + + b.Property("PositionPathSideObject") + .HasColumnType("longtext"); + + b.Property("PositionStatus") + .HasColumnType("longtext") + .HasColumnOrder(10) + .HasComment("PositionStatus"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasColumnOrder(4) + .HasComment("PositionType"); + + b.Property("Qualification") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļ„āļļāļ“āļ§āļļāļ’āļī"); + + b.HasKey("Id"); + + b.HasIndex("PositionMasterEntityId"); + + b.ToTable("PositionMasterHistoryEntity"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", 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") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationShortNameId"); + + b.ToTable("PositionNumbers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.ProfilePosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsPublished") + .HasColumnType("tinyint(1)"); + + 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("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationPositionId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfilePositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2", 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("GovernmentCode") + .HasColumnType("longtext"); + + b.Property("GovernmentCodeOld") + .HasColumnType("longtext"); + + 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("OrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("OrganizationOrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OrganizationShortNameOld") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutive") + .HasColumnType("longtext"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevel") + .HasColumnType("longtext"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionNum") + .HasColumnType("longtext"); + + b.Property("PositionNumId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionNumOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆāđ€āļ”āļīāļĄ"); + + b.Property("PositionPath") + .HasColumnType("longtext"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ"); + + b.Property("PositionPathSide") + .HasColumnType("longtext"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("PositionType") + .HasColumnType("longtext"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("ProfilePositionId") + .HasColumnType("char(36)") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļ–āļ·āļ­āļ„āļĢāļ­āļ‡"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡"); + + b.HasKey("Id"); + + b.ToTable("Report2s"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2DetailHistory", 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("Detail") + .HasColumnType("longtext"); + + 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.ToTable("Report2DetailHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2History", 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("Education") + .HasColumnType("longtext") + .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("NewGovernmentCode") + .HasColumnType("longtext"); + + b.Property("NewOrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("NewOrganizationOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewOrganizationShortName") + .HasColumnType("longtext"); + + b.Property("NewOrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionExecutive") + .HasColumnType("longtext"); + + b.Property("NewPositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionExecutiveSide") + .HasColumnType("longtext"); + + b.Property("NewPositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionLevel") + .HasColumnType("longtext"); + + b.Property("NewPositionLevelId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionNum") + .HasColumnType("longtext"); + + b.Property("NewPositionNumId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionPath") + .HasColumnType("longtext"); + + b.Property("NewPositionPathId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionPathSide") + .HasColumnType("longtext"); + + b.Property("NewPositionPathSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionType") + .HasColumnType("longtext"); + + b.Property("NewPositionTypeId") + .HasColumnType("char(36)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("OldGovernmentCode") + .HasColumnType("longtext"); + + b.Property("OldOrganizationOrganization") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldOrganizationShortName") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionNum") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionPath") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("ProfilePositionId") + .HasColumnType("char(36)") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļ–āļ·āļ­āļ„āļĢāļ­āļ‡"); + + b.Property("Report2DetailHistoryId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryMonth") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryPosition") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("Report2DetailHistoryId"); + + b.ToTable("Report2Histories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", 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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļšāļąāļāļŠāļĩ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļ­āļšāļāļēāļĢāļŠāļ­āļš"); + + b.Property("Number") + .HasMaxLength(10) + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļœāļđāđ‰āļŠāļ­āļšāđ„āļ”āđ‰"); + + b.Property("PlacementTypeId") + .HasColumnType("char(36)"); + + b.Property("RefId") + .HasColumnType("char(36)") + .HasComment("Id āļāļēāļĢāļŠāļ­āļš"); + + b.Property("Round") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļšāļąāļāļŠāļĩāļšāļąāļāļŠāļĩ"); + + b.Property("Year") + .HasMaxLength(5) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("PlacementTypeId"); + + b.ToTable("Placements"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”/āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āđ€āļ”āļīāļĄ"); + + b.Property("PositionDate") + .HasColumnType("datetime(6)") + .HasComment("āļ”āļģāļĢāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļĢāļ°āļ”āļąāļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ old"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("type") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("typeCommand") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("PlacementAppointments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementAppointmentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementAppointmentId"); + + b.ToTable("PlacementAppointmentDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentEmployee", 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("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id DNA āđƒāļŠāđ‰āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ—āļģāļŠāļģāđ€āļ™āļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđƒāļŦāļĄāđˆāļ—āļĩāđˆāļ—āļģāļŠāļģāđ€āļ™āļēāļāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļāđˆāļēāļˆāļ°āļ•āđ‰āļ­āļ‡āļĄāļĩ DNA āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ track āļ›āļĢāļ°āļ§āļąāļ•āļīāļāļēāļĢāđāļāđ‰āđ„āļ‚āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āđ„āļ”āđ‰"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.HasKey("Id"); + + b.ToTable("PlacementAppointmentEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementCertificate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("PlacementProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PlacementProfileId"); + + b.ToTable("PlacementCertificates"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementEducation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Idāļ§āļļāļ’āļīāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("EducationLevelName") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļīāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļŠāļ–āļēāļ™āļĻāļķāļāļĐāļē"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsEducation") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PlacementProfileId") + .HasColumnType("char(36)"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("PlacementProfileId"); + + b.HasIndex("PositionPathId"); + + b.ToTable("PlacementEducations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementIsProperty", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("PlacementIsProperties"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementOfficer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("DateEnd") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateStart") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("commandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementOfficers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("Id āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("CitizenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢ"); + + b.Property("CitizenDistrictId") + .HasColumnType("longtext") + .HasComment("Id āđ€āļ‚āļ•āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CitizenProvinceId") + .HasColumnType("longtext") + .HasComment("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("CurrentAddress") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ­āļģāđ€āļ āļ­āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("longtext") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ•āļģāļšāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("Draft") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡ Draft"); + + b.Property("Email") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļĩāđ€āļĄāļĨ"); + + b.Property("ExamNumber") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļŠāļ­āļšāđ„āļ”āđ‰"); + + b.Property("ExamRound") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļŠāļĄāļąāļ„āļĢāļŠāļ­āļš"); + + b.Property("FatherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļšāļīāļ”āļē"); + + b.Property("FatherOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("Firstname") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("Id āđ€āļžāļĻ"); + + b.Property("IsOfficer") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŊ āļāļ—āļĄ."); + + b.Property("IsOld") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāđˆāļē"); + + b.Property("IsProperty") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ„āļąāļ”āļāļĢāļ­āļ‡āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī"); + + b.Property("IsRelief") + .HasColumnType("tinyint(1)") + .HasComment("āļœāđˆāļ­āļ™āļœāļąāļ™"); + + b.Property("Knowledge") + .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("Lastname") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("Marry") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MobilePhone") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("MotherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Nationality") + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OccupationGroup") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļĨāļļāđˆāļĄ/āļāđˆāļēāļĒ"); + + b.Property("OccupationOrg") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("OccupationPile") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļ­āļ‡"); + + b.Property("OccupationPosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OccupationPositionType") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ›āļĢāļ°āđ€āļ āļ—āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OccupationSalary") + .HasColumnType("double") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("OccupationTelephone") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒ āļšāļĢāļīāļĐāļąāļ—"); + + b.Property("Pass") + .HasColumnType("longtext") + .HasComment("āļœāļĨāļŠāļĄāļąāļ„āļĢāļŠāļ­āļš"); + + b.Property("PlacementId") + .HasColumnType("char(36)"); + + b.Property("PlacementStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļšāļĢāļĢāļˆāļļ"); + + b.Property("PointA") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ"); + + b.Property("PointB") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ‚"); + + b.Property("PointC") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ„"); + + b.Property("PointTotalA") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ"); + + b.Property("PointTotalB") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ‚"); + + b.Property("PointTotalC") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ„"); + + b.Property("PosNumber") + .HasColumnType("int") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PosPath") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionCandidate") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļŠāļ­āļš"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Prefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileImgId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("RegistAddress") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ­āļģāđ€āļ āļ­āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistProvinceId") + .HasColumnType("longtext") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistSubDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ•āļģāļšāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŠāļĨāļ°āļŠāļīāļ—āļ˜āļīāđŒ"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("Id āļŠāļ–āļēāļ™āļ āļēāļž"); + + b.Property("ReliefDocId") + .HasColumnType("char(36)"); + + b.Property("ReliefReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļœāđˆāļ­āļ™āļœāļąāļ™"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RemarkVertical") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ•āļąāđ‰āļ‡"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Telephone") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒ"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("commandId") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeIdOld") + .HasColumnType("longtext") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeOld") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("orgRevisionIdOld") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("orgTreeShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("organizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelIdOld") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeIdOld") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionFieldOld") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionIdOld") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("posmasterIdOld") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profileId"); + + b.Property("refCommandCode") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandDate") + .HasMaxLength(200) + .HasColumnType("datetime(6)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandName") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandNo") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootIdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("templateDoc") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("typeCommand") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("PlacementId"); + + b.HasIndex("ProfileImgId"); + + b.HasIndex("ReliefDocId"); + + b.ToTable("PlacementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementProfileId"); + + b.ToTable("PlacementProfileDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AvatarId") + .HasColumnType("char(36)"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("Id āđ€āļžāļĻ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāđ‚āļ­āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rank") + .HasColumnType("longtext") + .HasComment("āļĒāļĻ"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("AvatarId"); + + b.ToTable("PlacementReceives"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceiveDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementReceiveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementReceiveId"); + + b.ToTable("PlacementReceiveDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("Firstname") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("GenderId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Lastname") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLineId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("PrefixId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("RelationshipId") + .HasColumnType("char(36)"); + + b.Property("ReligionId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.HasKey("Id"); + + b.HasIndex("BloodGroupId"); + + b.HasIndex("GenderId"); + + b.HasIndex("OrganizationPositionId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionLineId"); + + b.HasIndex("PositionNumberId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionPathSideId"); + + b.HasIndex("PositionTypeId"); + + b.HasIndex("PrefixId"); + + b.HasIndex("ProfileId"); + + b.HasIndex("RelationshipId"); + + b.HasIndex("ReligionId"); + + b.ToTable("PlacementRelocations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocationDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementRelocationId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementRelocationId"); + + b.ToTable("PlacementRelocationDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRepatriation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateRepatriation") + .HasColumnType("datetime(6)") + .HasComment("āļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("refId") + .HasColumnType("char(36)") + .HasComment("Id āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠ"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementRepatriations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransfer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementTransfers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransferDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementTransferId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementTransferId"); + + b.ToTable("PlacementTransferDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļšāļĢāļĢāļˆāļļ"); + + b.HasKey("Id"); + + b.ToTable("PlacementTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Probation.CronjobNotiProbation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNoti") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("CronjobNotiProbations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļŠāļĩāļĒāļŠāļĩāļ§āļīāļ•"); + + b.Property("DocumentForwardId") + .HasColumnType("char(36)"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļĄāļĢāļ“āļšāļąāļ•āļĢ"); + + b.Property("Number") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļĄāļĢāļ“āļšāļąāļ•āļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāđ€āļŠāļĩāļĒāļŠāļĩāļ§āļīāļ•"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("profileType") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļž (OFFICER->āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ EMPLOYEE->āļĨāļđāļāļˆāđ‰āļēāļ‡āļ›āļĢāļ°āļˆāļģ)"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.HasKey("Id"); + + b.HasIndex("DocumentForwardId"); + + b.HasIndex("DocumentId"); + + b.ToTable("RetirementDeceaseds"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceasedNoti", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CitizenId") + .IsRequired() + .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("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .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("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("RetirementDeceasedId") + .HasColumnType("char(36)"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementDeceasedId"); + + b.ToTable("RetirementDeceasedNotis"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDischarge", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ›āļĨāļ”āļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("RetirementDischarges"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementEmployeeQuestion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Adjust") + .HasColumnType("longtext") + .HasComment("āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AdjustOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AppointDate") + .HasColumnType("datetime(6)") + .HasComment("āļāđāļēāļŦāļ™āļ”āļ§āļąāļ™āļ™āļąāļ”āļŦāļĄāļēāļĒāđ€āļžāļ·āđˆāļ­āļ—āđāļēāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļāļēāļĢāļĨāļēāļ­āļ­āļ"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("ExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ExitFactorOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("FutureWork") + .HasColumnType("tinyint(1)") + .HasComment("āļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("FutureWorkReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Havejob") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļĄāļĩāļ‡āļēāļ™āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆāđāļĨāļ°āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđƒāļŦāļĄāđˆāđƒāļŦāđ‰āļāļąāļšāļ—āđˆāļēāļ™ āļ‹āļķāđˆāļ‡āļ—āđˆāļēāļ™āļĢāļđāđ‰āļŠāļķāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āđˆāļēāļžāļ­āđƒāļˆāļĄāļēāļāļāļ§āđˆāļēāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("HavejobReason") + .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("NotExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļˆāļ°āļŠāđˆāļ§āļĒāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđƒāļˆ āđ„āļĄāđˆāļ­āļĒāļēāļāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RealReason") + .HasColumnType("longtext") + .HasComment("āđ‚āļ›āļĢāļ”āļĢāļ°āļšāļļāļŠāļēāđ€āļŦāļ•āļļāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡ āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWork") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWorkOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("Score1") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 1"); + + b.Property("Score10") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 10"); + + b.Property("Score2") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 2"); + + b.Property("Score3") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 3"); + + b.Property("Score4") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 4"); + + b.Property("Score5") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 5"); + + b.Property("Score6") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 6"); + + b.Property("Score7") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 7"); + + b.Property("Score8") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 8"); + + b.Property("Score9") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 9"); + + b.Property("ScoreTotal") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļĢāļ§āļĄ"); + + b.Property("SuggestFriends") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("SuggestFriendsReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Suggestion") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļĨāļ°āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ°āļ­āļ·āđˆāļ™ āđ† "); + + b.Property("TimeThink") + .HasColumnType("int") + .HasComment("āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĨāļēāļ­āļ­āļāđƒāļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļĩāđ‰ āļ—āđˆāļēāļ™āđ„āļ”āđ‰āļ„āļīāļ”āļ—āļšāļ—āļ§āļ™āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡āļˆāļąāļ‡āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļ™āļēāļ™āđ€āļ—āđˆāļēāđƒāļ”"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementEmployeeQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementExpulsion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāđ„āļĨāđˆāļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("RetirementExpulsions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("CommandTypeId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢāđ€āļĄāļ·āđˆāļ­"); + + b.Property("MilitaryDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļžāđ‰āļ™āļˆāļēāļāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionDate") + .HasColumnType("datetime(6)") + .HasComment("āļ”āļģāļĢāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļĢāļ°āļ”āļąāļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("CommandTypeId"); + + b.ToTable("RetirementOthers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOtherDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementOtherId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementOtherId"); + + b.ToTable("RetirementOtherDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOut", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāđƒāļŦāđ‰āļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("profileType") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļž (OFFICER->āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ EMPLOYEE->āļĨāļđāļāļˆāđ‰āļēāļ‡āļ›āļĢāļ°āļˆāļģ)"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementOuts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļĄāļ•āļī āļ­āļāļ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("SignDate") + .HasColumnType("datetime(6)") + .HasComment("āļ›āļĢāļ°āļāļēāļĻ āļ“ āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("TypeReport") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.ToTable("RetirementPeriods"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriodHistory", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļĄāļ•āļī āļ­āļāļ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileFile") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("SignDate") + .HasColumnType("datetime(6)") + .HasComment("āļ›āļĢāļ°āļāļēāļĻ āļ“ āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļ™"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("TypeReport") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementPeriodHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementProfile", 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("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Remove") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĨāļšāļ­āļ­āļāļˆāļēāļāđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posExecutiveName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ "); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Adjust") + .HasColumnType("longtext") + .HasComment("āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AdjustOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AppointDate") + .HasColumnType("datetime(6)") + .HasComment("āļāđāļēāļŦāļ™āļ”āļ§āļąāļ™āļ™āļąāļ”āļŦāļĄāļēāļĒāđ€āļžāļ·āđˆāļ­āļ—āđāļēāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļāļēāļĢāļĨāļēāļ­āļ­āļ"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("ExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ExitFactorOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("FutureWork") + .HasColumnType("tinyint(1)") + .HasComment("āļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("FutureWorkReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Havejob") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļĄāļĩāļ‡āļēāļ™āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆāđāļĨāļ°āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđƒāļŦāļĄāđˆāđƒāļŦāđ‰āļāļąāļšāļ—āđˆāļēāļ™ āļ‹āļķāđˆāļ‡āļ—āđˆāļēāļ™āļĢāļđāđ‰āļŠāļķāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āđˆāļēāļžāļ­āđƒāļˆāļĄāļēāļāļāļ§āđˆāļēāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("HavejobReason") + .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("NotExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļˆāļ°āļŠāđˆāļ§āļĒāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđƒāļˆ āđ„āļĄāđˆāļ­āļĒāļēāļāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RealReason") + .HasColumnType("longtext") + .HasComment("āđ‚āļ›āļĢāļ”āļĢāļ°āļšāļļāļŠāļēāđ€āļŦāļ•āļļāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡ āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWork") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWorkOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("Score1") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 1"); + + b.Property("Score10") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 10"); + + b.Property("Score2") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 2"); + + b.Property("Score3") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 3"); + + b.Property("Score4") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 4"); + + b.Property("Score5") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 5"); + + b.Property("Score6") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 6"); + + b.Property("Score7") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 7"); + + b.Property("Score8") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 8"); + + b.Property("Score9") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 9"); + + b.Property("ScoreTotal") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļĢāļ§āļĄ"); + + b.Property("SuggestFriends") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("SuggestFriendsReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Suggestion") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļĨāļ°āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ°āļ­āļ·āđˆāļ™ āđ† "); + + b.Property("TimeThink") + .HasColumnType("int") + .HasComment("āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĨāļēāļ­āļ­āļāđƒāļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļĩāđ‰ āļ—āđˆāļēāļ™āđ„āļ”āđ‰āļ„āļīāļ”āļ—āļšāļ—āļ§āļ™āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡āļˆāļąāļ‡āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļ™āļēāļ™āđ€āļ—āđˆāļēāđƒāļ”"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestionnaireQuestion", 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("Question10Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 10"); + + b.Property("Question10Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 10"); + + b.Property("Question10Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 10"); + + b.Property("Question1Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 1"); + + b.Property("Question1Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 1"); + + b.Property("Question1Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 1"); + + b.Property("Question2Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 2"); + + b.Property("Question2Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 2"); + + b.Property("Question2Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 2"); + + b.Property("Question3Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 3"); + + b.Property("Question3Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 3"); + + b.Property("Question3Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 3"); + + b.Property("Question4Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 4"); + + b.Property("Question4Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 4"); + + b.Property("Question4Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 4"); + + b.Property("Question5Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 5"); + + b.Property("Question5Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 5"); + + b.Property("Question5Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 5"); + + b.Property("Question6Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 6"); + + b.Property("Question6Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 6"); + + b.Property("Question6Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 6"); + + b.Property("Question7Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 7"); + + b.Property("Question7Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 7"); + + b.Property("Question7Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 7"); + + b.Property("Question8Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 8"); + + b.Property("Question8Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 8"); + + b.Property("Question8Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 8"); + + b.Property("Question9Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 9"); + + b.Property("Question9Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 9"); + + b.Property("Question9Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 9"); + + b.HasKey("Id"); + + b.ToTable("RetirementQuestionnaireQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementRawProfile", 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("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Remove") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĨāļšāļ­āļ­āļāļˆāļēāļāđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posExecutiveName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ "); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementRawProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResign", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsCancel") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļāđ€āļĨāļīāļ"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReasonResign") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementResigns"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionExecutiveName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignCancels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancelApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignCancelId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignCancelId"); + + b.ToTable("RetirementResignCancelApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDebtDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignDebtDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsCancel") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļāđ€āļĨāļīāļ"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReasonResign") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementResignEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionExecutiveName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeCancels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancelApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignEmployeeCancelId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeCancelId"); + + b.ToTable("RetirementResignEmployeeCancelApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDebtDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeDebtDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", "CommandStatus") + .WithMany() + .HasForeignKey("CommandStatusId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandType", "CommandType") + .WithMany() + .HasForeignKey("CommandTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.Placement", "Placement") + .WithMany() + .HasForeignKey("PlacementId"); + + b.Navigation("CommandStatus"); + + b.Navigation("CommandType"); + + b.Navigation("Placement"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Deployments") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Documents") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + + b.Navigation("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Receivers") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.LimitLeave", "LimitLeave") + .WithMany("LimitTypeLeaves") + .HasForeignKey("LimitLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany("LimitTypeLeaves") + .HasForeignKey("TypeLeaveId"); + + b.Navigation("LimitLeave"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Avatar") + .WithMany() + .HasForeignKey("AvatarId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Gender", "Gender") + .WithMany() + .HasForeignKey("GenderId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.LimitLeave", "LimitLeave") + .WithMany("Profiles") + .HasForeignKey("LimitLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PosNo") + .WithMany() + .HasForeignKey("PosNoId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeGroup", "PositionEmployeeGroup") + .WithMany() + .HasForeignKey("PositionEmployeeGroupId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", "PositionEmployeeLevel") + .WithMany() + .HasForeignKey("PositionEmployeeLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", "PositionEmployeeLine") + .WithMany() + .HasForeignKey("PositionEmployeeLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", "PositionEmployeePosition") + .WithMany() + .HasForeignKey("PositionEmployeePositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", "PositionEmployeePositionSide") + .WithMany() + .HasForeignKey("PositionEmployeePositionSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "Position") + .WithMany() + .HasForeignKey("PositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Prefix", "Prefix") + .WithMany() + .HasForeignKey("PrefixId"); + + b.Navigation("Avatar"); + + b.Navigation("Gender"); + + b.Navigation("LimitLeave"); + + b.Navigation("PosNo"); + + b.Navigation("Position"); + + b.Navigation("PositionEmployeeGroup"); + + b.Navigation("PositionEmployeeLevel"); + + b.Navigation("PositionEmployeeLine"); + + b.Navigation("PositionEmployeePosition"); + + b.Navigation("PositionEmployeePositionSide"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionType"); + + b.Navigation("Prefix"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Abilitys") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbilityHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileAbility", "ProfileAbility") + .WithMany("ProfileAbilityHistorys") + .HasForeignKey("ProfileAbilityId"); + + b.Navigation("ProfileAbility"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("AddressHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Assessments") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessmentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileAssessment", "ProfileAssessment") + .WithMany("ProfileAssessmentHistorys") + .HasForeignKey("ProfileAssessmentId"); + + b.Navigation("ProfileAssessment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAvatarHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "AvatarFile") + .WithMany() + .HasForeignKey("AvatarFileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("AvatarHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AvatarFile"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Certificates") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificateHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileCertificate", "ProfileCertificate") + .WithMany("ProfileCertificateHistorys") + .HasForeignKey("ProfileCertificateId"); + + b.Navigation("ProfileCertificate"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("ChangeNames") + .HasForeignKey("ProfileId"); + + b.Navigation("Document"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeNameHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileChangeName", "ProfileChangeName") + .WithMany("ProfileChangeNameHistorys") + .HasForeignKey("ProfileChangeNameId"); + + b.Navigation("Document"); + + b.Navigation("ProfileChangeName"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Childrens") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildrenHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileChildren", null) + .WithMany("ProfileChildrenHistorys") + .HasForeignKey("ProfileChildrenId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", null) + .WithMany("Childrens") + .HasForeignKey("ProfileFamilyHistoryId"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCoupleHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("CoupleHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCurrentAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("CurrentAddressHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Disciplines") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDisciplineHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileDiscipline", "ProfileDiscipline") + .WithMany("ProfileDisciplineHistorys") + .HasForeignKey("ProfileDisciplineId"); + + b.Navigation("ProfileDiscipline"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Dutys") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDutyHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileDuty", "ProfileDuty") + .WithMany("ProfileDutyHistorys") + .HasForeignKey("ProfileDutyId"); + + b.Navigation("ProfileDuty"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Educations") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducationHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileEducation", "ProfileEducation") + .WithMany("ProfileEducationHistorys") + .HasForeignKey("ProfileEducationId"); + + b.Navigation("ProfileEducation"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmployment", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Employments") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmploymentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileEmployment", "ProfileEmployment") + .WithMany() + .HasForeignKey("ProfileEmploymentId"); + + b.Navigation("ProfileEmployment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("FamilyHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFatherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("FatherHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileGovernmentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("GovernmentHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("ProfileHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Honors") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonorHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileHonor", "ProfileHonor") + .WithMany("ProfileHonorHistorys") + .HasForeignKey("ProfileHonorId"); + + b.Navigation("ProfileHonor"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "Insignia") + .WithMany() + .HasForeignKey("InsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", null) + .WithMany("Insignias") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Insignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsigniaHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileInsignia", "ProfileInsignia") + .WithMany("ProfileInsigniaHistorys") + .HasForeignKey("ProfileInsigniaId"); + + b.Navigation("ProfileInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", null) + .WithMany("Leaves") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany() + .HasForeignKey("TypeLeaveId"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileLeave", "ProfileLeave") + .WithMany("ProfileLeaveHistorys") + .HasForeignKey("ProfileLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany() + .HasForeignKey("TypeLeaveId"); + + b.Navigation("ProfileLeave"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveSummary", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("LeaveSummary") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileMotherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("MotherHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Nopaids") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaidHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileNopaid", "ProfileNopaid") + .WithMany("ProfileNopaidHistorys") + .HasForeignKey("ProfileNopaidId"); + + b.Navigation("ProfileNopaid"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Others") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOtherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileOther", "ProfileOther") + .WithMany("ProfileOtherHistorys") + .HasForeignKey("ProfileOtherId"); + + b.Navigation("ProfileOther"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfilePaper", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Papers") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileRegistrationAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("RegistrationAddressHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Salaries") + .HasForeignKey("ProfileId"); + + b.Navigation("PositionLevel"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileSalary", "ProfileSalary") + .WithMany("ProfileSalaryHistorys") + .HasForeignKey("ProfileSalaryId"); + + b.Navigation("ProfileSalary"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPosition", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Position", "Position") + .WithMany() + .HasForeignKey("PositionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Position"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Trainings") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTrainingHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileTraining", "ProfileTraining") + .WithMany("ProfileTrainingHistorys") + .HasForeignKey("ProfileTrainingId"); + + b.Navigation("ProfileTraining"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaEmployee", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", "InsigniaPeriod") + .WithMany("InsigniaEmployees") + .HasForeignKey("InsigniaPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "Insignia") + .WithMany() + .HasForeignKey("InsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Insignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaManage", "InsigniaManage") + .WithMany("InsigniaManageOrganiations") + .HasForeignKey("InsigniaManageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaManage"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", "InsigniaManageOrganiation") + .WithMany("InsigniaManageProfiles") + .HasForeignKey("InsigniaManageOrganiationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", "InsigniaNoteProfile") + .WithMany() + .HasForeignKey("InsigniaNoteProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaManageOrganiation"); + + b.Navigation("InsigniaNoteProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNote", "InsigniaNote") + .WithMany("InsigniaNoteDocs") + .HasForeignKey("InsigniaNoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("InsigniaNote"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocReceiveInsignia") + .WithMany() + .HasForeignKey("DocReceiveInsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocReturnInsignia") + .WithMany() + .HasForeignKey("DocReturnInsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNote", "InsigniaNote") + .WithMany("InsigniaNoteProfiles") + .HasForeignKey("InsigniaNoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "RequestInsignia") + .WithMany() + .HasForeignKey("RequestInsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DocReceiveInsignia"); + + b.Navigation("DocReturnInsignia"); + + b.Navigation("InsigniaNote"); + + b.Navigation("RequestInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ReliefDoc") + .WithMany() + .HasForeignKey("ReliefDocId"); + + b.Navigation("ReliefDoc"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaReclaimProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", "InsigniaNoteProfile") + .WithMany() + .HasForeignKey("InsigniaNoteProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaNoteProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", "Period") + .WithMany("InsigniaRequests") + .HasForeignKey("PeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Period"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequestProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", "Request") + .WithMany("RequestProfiles") + .HasForeignKey("RequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "RequestInsignia") + .WithMany() + .HasForeignKey("RequestInsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Request"); + + b.Navigation("RequestInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Province", "Province") + .WithMany("Districts") + .HasForeignKey("ProvinceId"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Insignia", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.InsigniaType", "InsigniaType") + .WithMany() + .HasForeignKey("InsigniaTypeId"); + + b.Navigation("InsigniaType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Position", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", "ExecutiveSide") + .WithMany() + .HasForeignKey("ExecutiveSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PathSide") + .WithMany() + .HasForeignKey("PathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.Navigation("ExecutiveSide"); + + b.Navigation("PathSide"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.SubDistrict", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.District", "District") + .WithMany("SubDistricts") + .HasForeignKey("DistrictId"); + + b.Navigation("District"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrganizationAgency") + .WithMany() + .HasForeignKey("OrganizationAgencyId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationFax", "OrganizationFax") + .WithMany() + .HasForeignKey("OrganizationFaxId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrganizationGovernmentAgency") + .WithMany() + .HasForeignKey("OrganizationGovernmentAgencyId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", "OrganizationLevel") + .WithMany() + .HasForeignKey("OrganizationLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrganizationOrganization") + .WithMany() + .HasForeignKey("OrganizationOrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", "OrganizationTelExternal") + .WithMany() + .HasForeignKey("OrganizationTelExternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", "OrganizationTelInternal") + .WithMany() + .HasForeignKey("OrganizationTelInternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationType", "OrganizationType") + .WithMany() + .HasForeignKey("OrganizationTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", "PositionEmployeeLine") + .WithMany() + .HasForeignKey("PositionEmployeeLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", "PositionEmployeePosition") + .WithMany() + .HasForeignKey("PositionEmployeePositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeStatus", "PositionEmployeeStatus") + .WithMany() + .HasForeignKey("PositionEmployeeStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId"); + + b.Navigation("Organization"); + + b.Navigation("OrganizationAgency"); + + b.Navigation("OrganizationFax"); + + b.Navigation("OrganizationGovernmentAgency"); + + b.Navigation("OrganizationLevel"); + + b.Navigation("OrganizationOrganization"); + + b.Navigation("OrganizationShortName"); + + b.Navigation("OrganizationTelExternal"); + + b.Navigation("OrganizationTelInternal"); + + b.Navigation("OrganizationType"); + + b.Navigation("PositionEmployeeLine"); + + b.Navigation("PositionEmployeePosition"); + + b.Navigation("PositionEmployeeStatus"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationEmployeeProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrgEmployee") + .WithMany("OrganizationEmployeeProfiles") + .HasForeignKey("OrgEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrgEmployee"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeeLevel", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrganizationEmployee") + .WithMany("OrganizationPositionEmployeeLevels") + .HasForeignKey("OrganizationEmployeeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", "PositionEmployeeLevel") + .WithMany() + .HasForeignKey("PositionEmployeeLevelId"); + + b.Navigation("OrganizationEmployee"); + + b.Navigation("PositionEmployeeLevel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeePositionSide", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrganizationEmployee") + .WithMany("OrganizationPositionEmployeePositionSides") + .HasForeignKey("OrganizationEmployeeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", "PositionEmployeePositionSide") + .WithMany() + .HasForeignKey("PositionEmployeePositionSideId"); + + b.Navigation("OrganizationEmployee"); + + b.Navigation("PositionEmployeePositionSide"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.AvailablePositionLevelEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMaster") + .WithMany() + .HasForeignKey("PositionMasterId"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionMaster"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationFax", "OrganizationFax") + .WithMany() + .HasForeignKey("OrganizationFaxId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", "OrganizationLevel") + .WithMany() + .HasForeignKey("OrganizationLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrganizationOrganization") + .WithMany() + .HasForeignKey("OrganizationOrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationStatus", "OrganizationStatus") + .WithMany() + .HasForeignKey("OrganizationStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", "OrganizationTelExternal") + .WithMany() + .HasForeignKey("OrganizationTelExternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", "OrganizationTelInternal") + .WithMany() + .HasForeignKey("OrganizationTelInternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationType", "OrganizationType") + .WithMany() + .HasForeignKey("OrganizationTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Parent") + .WithMany("Organizations") + .HasForeignKey("ParentId"); + + b.Navigation("OrganizationFax"); + + b.Navigation("OrganizationLevel"); + + b.Navigation("OrganizationOrganization"); + + b.Navigation("OrganizationShortName"); + + b.Navigation("OrganizationStatus"); + + b.Navigation("OrganizationTelExternal"); + + b.Navigation("OrganizationTelInternal"); + + b.Navigation("OrganizationType"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMaster") + .WithMany() + .HasForeignKey("PositionMasterId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PositionNumber") + .WithMany() + .HasForeignKey("PositionNumberId"); + + b.Navigation("Organization"); + + b.Navigation("PositionMaster"); + + b.Navigation("PositionNumber"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutive", "PositionExecutive") + .WithMany() + .HasForeignKey("PositionExecutiveId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", "PositionExecutiveSide") + .WithMany() + .HasForeignKey("PositionExecutiveSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLine", "PositionLine") + .WithMany() + .HasForeignKey("PositionLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PositionPathSide") + .WithMany() + .HasForeignKey("PositionPathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionStatus", "PositionStatus") + .WithMany() + .HasForeignKey("PositionStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.Navigation("PositionExecutive"); + + b.Navigation("PositionExecutiveSide"); + + b.Navigation("PositionLine"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionPathSide"); + + b.Navigation("PositionStatus"); + + b.Navigation("PositionType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterHistoryEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMasterEntity") + .WithMany("PositionMasterHistorys") + .HasForeignKey("PositionMasterEntityId"); + + b.Navigation("PositionMasterEntity"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.Navigation("OrganizationShortName"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.ProfilePosition", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition") + .WithMany() + .HasForeignKey("OrganizationPositionId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId"); + + b.Navigation("OrganizationPosition"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2History", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.Report2.Report2DetailHistory", "Report2DetailHistory") + .WithMany() + .HasForeignKey("Report2DetailHistoryId"); + + b.Navigation("Report2DetailHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementType", "PlacementType") + .WithMany() + .HasForeignKey("PlacementTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PlacementType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementAppointment", "PlacementAppointment") + .WithMany("PlacementAppointmentDocs") + .HasForeignKey("PlacementAppointmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementAppointment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementCertificate", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementCertificates") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PlacementProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementEducation", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementEducations") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.Navigation("PlacementProfile"); + + b.Navigation("PositionPath"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.Placement", "Placement") + .WithMany("PlacementProfiles") + .HasForeignKey("PlacementId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ProfileImg") + .WithMany() + .HasForeignKey("ProfileImgId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ReliefDoc") + .WithMany() + .HasForeignKey("ReliefDocId"); + + b.Navigation("Placement"); + + b.Navigation("ProfileImg"); + + b.Navigation("ReliefDoc"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementProfileDocs") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Avatar") + .WithMany() + .HasForeignKey("AvatarId"); + + b.Navigation("Avatar"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceiveDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementReceive", "PlacementReceive") + .WithMany("PlacementReceiveDocs") + .HasForeignKey("PlacementReceiveId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementReceive"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.BloodGroup", "BloodGroup") + .WithMany() + .HasForeignKey("BloodGroupId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Gender", "Gender") + .WithMany() + .HasForeignKey("GenderId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition") + .WithMany() + .HasForeignKey("OrganizationPositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLine", "PositionLine") + .WithMany() + .HasForeignKey("PositionLineId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PositionNumber") + .WithMany() + .HasForeignKey("PositionNumberId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PositionPathSide") + .WithMany() + .HasForeignKey("PositionPathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Prefix", "Prefix") + .WithMany() + .HasForeignKey("PrefixId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Relationship", "Relationship") + .WithMany() + .HasForeignKey("RelationshipId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Religion", "Religion") + .WithMany() + .HasForeignKey("ReligionId"); + + b.Navigation("BloodGroup"); + + b.Navigation("Gender"); + + b.Navigation("OrganizationPosition"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionLine"); + + b.Navigation("PositionNumber"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionPathSide"); + + b.Navigation("PositionType"); + + b.Navigation("Prefix"); + + b.Navigation("Profile"); + + b.Navigation("Relationship"); + + b.Navigation("Religion"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocationDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementRelocation", "PlacementRelocation") + .WithMany("PlacementRelocationDocs") + .HasForeignKey("PlacementRelocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementRelocation"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransferDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementTransfer", "PlacementTransfer") + .WithMany("PlacementTransferDocs") + .HasForeignKey("PlacementTransferId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementTransfer"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocumentForward") + .WithMany() + .HasForeignKey("DocumentForwardId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.Navigation("Document"); + + b.Navigation("DocumentForward"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceasedNoti", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", "RetirementDeceased") + .WithMany("RetirementDeceasedNotis") + .HasForeignKey("RetirementDeceasedId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementDeceased"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDischarge", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementEmployeeQuestion", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany() + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementExpulsion", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandType", "CommandType") + .WithMany() + .HasForeignKey("CommandTypeId"); + + b.Navigation("CommandType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOtherDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementOther", "RetirementOther") + .WithMany("RetirementOtherDocs") + .HasForeignKey("RetirementOtherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementOther"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.Navigation("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriodHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementPeriodHistorys") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementProfiles") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestion", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany() + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementRawProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementRawProfiles") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("Approvers") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignCancels") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancelApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", "RetirementResignCancel") + .WithMany("Approvers") + .HasForeignKey("RetirementResignCancelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignCancel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDebtDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignDebtDocs") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignDocs") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("Approvers") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeCancels") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancelApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", "RetirementResignEmployeeCancel") + .WithMany("Approvers") + .HasForeignKey("RetirementResignEmployeeCancelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployeeCancel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDebtDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeDebtDocs") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeDocs") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b => + { + b.Navigation("Deployments"); + + b.Navigation("Documents"); + + b.Navigation("Receivers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", b => + { + b.Navigation("LimitTypeLeaves"); + + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.Navigation("Abilitys"); + + b.Navigation("AddressHistory"); + + b.Navigation("Assessments"); + + b.Navigation("AvatarHistory"); + + b.Navigation("Certificates"); + + b.Navigation("ChangeNames"); + + b.Navigation("Childrens"); + + b.Navigation("CoupleHistory"); + + b.Navigation("CurrentAddressHistory"); + + b.Navigation("Disciplines"); + + b.Navigation("Dutys"); + + b.Navigation("Educations"); + + b.Navigation("Employments"); + + b.Navigation("FamilyHistory"); + + b.Navigation("FatherHistory"); + + b.Navigation("GovernmentHistory"); + + b.Navigation("Honors"); + + b.Navigation("Insignias"); + + b.Navigation("LeaveSummary"); + + b.Navigation("Leaves"); + + b.Navigation("MotherHistory"); + + b.Navigation("Nopaids"); + + b.Navigation("Others"); + + b.Navigation("Papers"); + + b.Navigation("ProfileHistory"); + + b.Navigation("RegistrationAddressHistory"); + + b.Navigation("Salaries"); + + b.Navigation("Trainings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", b => + { + b.Navigation("ProfileAbilityHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", b => + { + b.Navigation("ProfileAssessmentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.Navigation("ProfileCertificateHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.Navigation("ProfileChangeNameHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.Navigation("ProfileChildrenHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", b => + { + b.Navigation("ProfileDisciplineHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", b => + { + b.Navigation("ProfileDutyHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.Navigation("ProfileEducationHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.Navigation("Childrens"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", b => + { + b.Navigation("ProfileHonorHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", b => + { + b.Navigation("ProfileInsigniaHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", b => + { + b.Navigation("ProfileLeaveHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", b => + { + b.Navigation("ProfileNopaidHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", b => + { + b.Navigation("ProfileOtherHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.Navigation("ProfileSalaryHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", b => + { + b.Navigation("ProfileTrainingHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.TypeLeave", b => + { + b.Navigation("LimitTypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", b => + { + b.Navigation("InsigniaManageOrganiations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", b => + { + b.Navigation("InsigniaManageProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNote", b => + { + b.Navigation("InsigniaNoteDocs"); + + b.Navigation("InsigniaNoteProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.Navigation("InsigniaEmployees"); + + b.Navigation("InsigniaRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.Navigation("RequestProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.Navigation("SubDistricts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Province", b => + { + b.Navigation("Districts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.Navigation("OrganizationEmployeeProfiles"); + + b.Navigation("OrganizationPositionEmployeeLevels"); + + b.Navigation("OrganizationPositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.Navigation("Organizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", b => + { + b.Navigation("PositionMasterHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", b => + { + b.Navigation("PlacementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointment", b => + { + b.Navigation("PlacementAppointmentDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.Navigation("PlacementCertificates"); + + b.Navigation("PlacementEducations"); + + b.Navigation("PlacementProfileDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.Navigation("PlacementReceiveDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.Navigation("PlacementRelocationDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransfer", b => + { + b.Navigation("PlacementTransferDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", b => + { + b.Navigation("RetirementDeceasedNotis"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.Navigation("RetirementOtherDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", b => + { + b.Navigation("RetirementPeriodHistorys"); + + b.Navigation("RetirementProfiles"); + + b.Navigation("RetirementRawProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResign", b => + { + b.Navigation("Approvers"); + + b.Navigation("RetirementResignCancels"); + + b.Navigation("RetirementResignDebtDocs"); + + b.Navigation("RetirementResignDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.Navigation("Approvers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", b => + { + b.Navigation("Approvers"); + + b.Navigation("RetirementResignEmployeeCancels"); + + b.Navigation("RetirementResignEmployeeDebtDocs"); + + b.Navigation("RetirementResignEmployeeDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.Navigation("Approvers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.cs b/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.cs new file mode 100644 index 00000000..1a258f42 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/20260512073417_update_PlacementReceives_add_rank.cs @@ -0,0 +1,30 @@ +ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations +{ + /// + public partial class update_PlacementReceives_add_rank : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "rank", + table: "PlacementReceives", + type: "longtext", + nullable: true, + comment: "āļĒāļĻ") + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "rank", + table: "PlacementReceives"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs index 56218ff2..b0a92489 100644 --- a/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs @@ -13693,6 +13693,10 @@ namespace BMA.EHR.Infrastructure.Migrations .HasColumnType("longtext") .HasComment("profile Id"); + b.Property("rank") + .HasColumnType("longtext") + .HasComment("āļĒāļĻ"); + b.Property("root") .HasColumnType("longtext") .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 87d7b68a..91c65c86 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -129,6 +129,7 @@ namespace BMA.EHR.Placement.Service.Controllers { p.Id, p.prefix, + p.rank, p.firstName, p.lastName, p.citizenId, @@ -280,6 +281,7 @@ namespace BMA.EHR.Placement.Service.Controllers // ProfileId = p.Profile.Id, p.citizenId, p.prefix, + p.rank, p.firstName, p.lastName, p.DateOfBirth, @@ -377,6 +379,7 @@ namespace BMA.EHR.Placement.Service.Controllers // data.ProfileId, data.citizenId, data.prefix, + data.rank, data.firstName, data.lastName, data.DateOfBirth, @@ -484,6 +487,7 @@ namespace BMA.EHR.Placement.Service.Controllers // Profile = profile, citizenId = req.citizenId, prefix = req.prefix, + rank = req.rank, firstName = req.firstName, lastName = req.lastName, DateOfBirth = req.BirthDate, @@ -852,6 +856,7 @@ namespace BMA.EHR.Placement.Service.Controllers uppdated.Gender = req.Gender; uppdated.citizenId = req.citizenId; uppdated.prefix = req.prefix; + uppdated.rank = req.rank; uppdated.firstName = req.firstName; uppdated.lastName = req.lastName; uppdated.DateOfBirth = req.DateOfBirth; diff --git a/BMA.EHR.Placement.Service/Requests/PlacementReceiveEditRequest.cs b/BMA.EHR.Placement.Service/Requests/PlacementReceiveEditRequest.cs index 7c1cb172..cafc0ad9 100644 --- a/BMA.EHR.Placement.Service/Requests/PlacementReceiveEditRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PlacementReceiveEditRequest.cs @@ -6,7 +6,8 @@ namespace BMA.EHR.Placement.Service.Requests public class PlacementReceiveEditRequest { public string citizenId { get; set; } - public string prefix { get; set; } + public string? prefix { get; set; } + public string? rank { get; set; } public string firstName { get; set; } public string lastName { get; set; } public DateTime DateOfBirth { get; set; } diff --git a/BMA.EHR.Placement.Service/Requests/PlacementReceiveRequest.cs b/BMA.EHR.Placement.Service/Requests/PlacementReceiveRequest.cs index b546c1f3..49563324 100644 --- a/BMA.EHR.Placement.Service/Requests/PlacementReceiveRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PlacementReceiveRequest.cs @@ -6,7 +6,9 @@ namespace BMA.EHR.Placement.Service.Requests public class PlacementReceiveRequest { public string citizenId { get; set; } - public string prefix { get; set; } + + public string? prefix { get; set; } + public string? rank { get; set; } public string firstName { get; set; } public string lastName { get; set; } public DateTime BirthDate { get; set; } From ecf660e4cfcac4fecf79615b2502e238c00e19f7 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 15 May 2026 11:41:59 +0700 Subject: [PATCH 32/90] send noti process-checkin --- BMA.EHR.Leave/Controllers/LeaveController.cs | 22 ++++++- BMA.EHR.Leave/Services/NotificationService.cs | 58 +++++++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 BMA.EHR.Leave/Services/NotificationService.cs diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 7e6befad..bba075e0 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -33,6 +33,7 @@ using System.Diagnostics; using System.Security.Claims; using System.Text; using System.Threading.Tasks; +using BMA.EHR.Leave.Services; using SearchProfileResultDto = BMA.EHR.Leave.Service.DTOs.ChangeRound.SearchProfileResultDto; namespace BMA.EHR.Leave.Service.Controllers @@ -63,6 +64,7 @@ namespace BMA.EHR.Leave.Service.Controllers private readonly UserCalendarRepository _userCalendarRepository; private readonly PermissionRepository _permission; private readonly CheckInJobStatusRepository _checkInJobStatusRepository; + private readonly NotificationService _notificationService; private readonly CommandRepository _commandRepository; @@ -102,7 +104,8 @@ namespace BMA.EHR.Leave.Service.Controllers CheckInJobStatusRepository checkInJobStatusRepository, HttpClient httpClient, ApplicationDBContext appDbContext, - LeaveProcessJobStatusRepository leaveProcessJobStatusRepository) + LeaveProcessJobStatusRepository leaveProcessJobStatusRepository, + NotificationService notificationService) { _dutyTimeRepository = dutyTimeRepository; _context = context; @@ -122,6 +125,7 @@ namespace BMA.EHR.Leave.Service.Controllers _notificationRepository = notificationRepository; _checkInJobStatusRepository = checkInJobStatusRepository; _leaveProcessJobStatusRepository = leaveProcessJobStatusRepository; + _notificationService = notificationService; _objectPool = objectPool; _permission = permission; @@ -943,7 +947,9 @@ namespace BMA.EHR.Leave.Service.Controllers if (profile == null) { - await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); + await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByKeycloakIdNew2Async] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); + await _notificationService.SendNotificationAsync(data.Token, true, + "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByKeycloakIdNew2Async] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); //var staffList = await _userProfileRepository.GetOCStaffAsync(profile) return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); } @@ -954,6 +960,7 @@ namespace BMA.EHR.Leave.Service.Controllers { //throw new Exception(GlobalMessages.NoFileToUpload); await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, GlobalMessages.NoFileToUpload); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}"); // send notification to user var noti1 = new Notification @@ -991,6 +998,7 @@ namespace BMA.EHR.Leave.Service.Controllers catch (Exception ex) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}"); // send notification to user var noti1 = new Notification @@ -1025,6 +1033,7 @@ namespace BMA.EHR.Leave.Service.Controllers catch (Exception ex) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}"); // send notification to user var noti1 = new Notification @@ -1049,6 +1058,8 @@ namespace BMA.EHR.Leave.Service.Controllers if (defaultRound == null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ Default"); + await _notificationService.SendNotificationAsync(data.Token, true, + $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ Default"); // send notification to user var noti1 = new Notification { @@ -1202,6 +1213,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (currentCheckIn != null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļ”āđ‰ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§"); + await _notificationService.SendNotificationAsync(data.Token, true,$"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§"); // send notification to user var noti1 = new Notification @@ -1359,6 +1371,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (checkout == null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); + await _notificationService.SendNotificationAsync(data.Token,true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); // send notification to user var noti1 = new Notification @@ -1379,6 +1392,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (currentCheckInProcess == null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ (CheckIn)"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ (CheckIn)"); // send notification to user var noti1 = new Notification @@ -1556,6 +1570,7 @@ namespace BMA.EHR.Leave.Service.Controllers else { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); + await _notificationService.SendNotificationAsync(data.Token,true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); // send notification to user var noti1 = new Notification { @@ -1579,6 +1594,8 @@ namespace BMA.EHR.Leave.Service.Controllers ProcessedDate = currentDate }); await _checkInJobStatusRepository.UpdateToCompletedAsync(taskId, additionalData); + await _notificationService.SendNotificationAsync(data.Token, false, + $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āļŠāļģāđ€āļĢāđ‡āļˆ"); } var checkInType = data.CheckInId == null ? "check-in" : "check-out"; @@ -1590,6 +1607,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (taskId != Guid.Empty) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, ex.Message); + await _notificationService.SendNotificationAsync(data.Token, true, ex.Message); } return Error(ex); } diff --git a/BMA.EHR.Leave/Services/NotificationService.cs b/BMA.EHR.Leave/Services/NotificationService.cs new file mode 100644 index 00000000..3ada008e --- /dev/null +++ b/BMA.EHR.Leave/Services/NotificationService.cs @@ -0,0 +1,58 @@ +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; +using System.Net.Http.Headers; +using System.Text; + +namespace BMA.EHR.Leave.Services; + +public class NotificationService +{ + private readonly IHttpClientFactory _httpClientFactory; + private readonly ILogger _logger; + private readonly IConfiguration _configuration; + + private const string NotifyEndpoint = "https://hrmsbkk.case-collection.com/api/v1/org/through-socket/notify-from-token"; + + public NotificationService(IHttpClientFactory httpClientFactory, ILogger logger, IConfiguration configuration) + { + _httpClientFactory = httpClientFactory; + _logger = logger; + _configuration = configuration; + } + + public async Task SendNotificationAsync(string? token, bool error, string message) + { + if (string.IsNullOrEmpty(token)) + { + _logger.LogWarning("Cannot send import notification: token is null or empty."); + return; + } + + try + { + var client = _httpClientFactory.CreateClient("default"); + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + + var payload = new + { + error, + message + }; + + var json = JsonConvert.SerializeObject(payload); + var content = new StringContent(json, Encoding.UTF8, "application/json"); + + var response = await client.PostAsync(NotifyEndpoint, content); + + if (!response.IsSuccessStatusCode) + { + var responseBody = await response.Content.ReadAsStringAsync(); + _logger.LogWarning("Import notification failed with status {StatusCode}: {Body}", response.StatusCode, responseBody); + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Failed to send import notification: {Message}", ex.Message); + } + } +} From 9f756771cd0ec204452a84507d16da0c71d6f487 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 15 May 2026 11:54:04 +0700 Subject: [PATCH 33/90] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20keycloak=5Fid=20+=20token=20=E0=B8=A5=E0=B8=87?= =?UTF-8?q?=E0=B9=83=E0=B8=99=20Job=20AdditionalData=20=E0=B9=80=E0=B8=9E?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B9=80=E0=B8=AD=E0=B8=B2=E0=B9=84?= =?UTF-8?q?=E0=B8=A7=E0=B9=89=E0=B8=95=E0=B8=A3=E0=B8=A7=E0=B8=88=E0=B8=AA?= =?UTF-8?q?=E0=B8=AD=E0=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index bba075e0..e5953e0b 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -617,7 +617,9 @@ namespace BMA.EHR.Leave.Service.Controllers { IsLocation = data.IsLocation, LocationName = data.LocationName, - POI = data.POI + POI = data.POI, + KeycloakId = userId, + Token = AccessToken, }) }; await _checkInJobStatusRepository.AddAsync(jobStatus); From 583569682d8f3c953e84c658d20dfae97cd9f6a1 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 15 May 2026 13:13:29 +0700 Subject: [PATCH 34/90] register notification service --- BMA.EHR.Leave/Program.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BMA.EHR.Leave/Program.cs b/BMA.EHR.Leave/Program.cs index c4774831..9d42133e 100644 --- a/BMA.EHR.Leave/Program.cs +++ b/BMA.EHR.Leave/Program.cs @@ -23,6 +23,7 @@ using Hangfire.Common; using BMA.EHR.Application.Repositories.Leaves.TimeAttendants; using BMA.EHR.Leave.Service.Extensions; using BMA.EHR.Leave.Service.Services; +using BMA.EHR.Leave.Services; var builder = WebApplication.CreateBuilder(args); // āļ•āļąāđ‰āļ‡ TimeZone āđ€āļ›āđ‡āļ™ Asia/Bangkok āđƒāļ™āđ‚āļ„āđ‰āļ” @@ -95,6 +96,7 @@ builder.Services.AddLeaveApplication(); builder.Services.AddPersistence(builder.Configuration); builder.Services.AddLeavePersistence(builder.Configuration); builder.Services.AddTransient(); +builder.Services.AddTransient(); // Configure HttpClient with increased timeout for long-running operations (e.g., RabbitMQ Management API) builder.Services.AddHttpClient(); From e5f6a44f5f696a3f30bdcc72279c306622881a2f Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 15 May 2026 16:04:39 +0700 Subject: [PATCH 35/90] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20Call=20API=20GetProfileByCheckInAsync=20=E0=B9=83?= =?UTF-8?q?=E0=B8=8A=E0=B9=89=E0=B9=81=E0=B8=97=E0=B8=99=E0=B8=82=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B9=80=E0=B8=94=E0=B8=B4=E0=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/UserProfileRepository.cs | 23 +++++++++++++++++++ BMA.EHR.Leave/Controllers/LeaveController.cs | 6 ++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Application/Repositories/UserProfileRepository.cs b/BMA.EHR.Application/Repositories/UserProfileRepository.cs index 4f081f77..2d9ae7b4 100644 --- a/BMA.EHR.Application/Repositories/UserProfileRepository.cs +++ b/BMA.EHR.Application/Repositories/UserProfileRepository.cs @@ -233,6 +233,29 @@ namespace BMA.EHR.Application.Repositories throw; } } + + public async Task GetProfileByCheckInAsync(Guid keycloakId, string? accessToken) + { + try + { + var apiPath = $"{_configuration["API"]}/org/dotnet/check-keycloak/{keycloakId}"; + var apiKey = _configuration["API_KEY"]; + + var apiResult = await GetExternalAPIAsync(apiPath, accessToken ?? "", apiKey); + if (apiResult != null) + { + var raw = JsonConvert.DeserializeObject(apiResult); + if (raw != null) + return raw.Result; + } + + return null; + } + catch + { + throw; + } + } public async Task GetProfileLeaveByKeycloakIdAsync(Guid keycloakId, string? accessToken) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index e5953e0b..e2a4010b 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -945,13 +945,13 @@ namespace BMA.EHR.Leave.Service.Controllers await _checkInJobStatusRepository.UpdateToProcessingAsync(taskId); } - var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, data.Token); + var profile = await _userProfileRepository.GetProfileByCheckInAsync(userId, data.Token); if (profile == null) { - await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByKeycloakIdNew2Async] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); + await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByCheckInAsync] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); await _notificationService.SendNotificationAsync(data.Token, true, - "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByKeycloakIdNew2Async] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); + "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByCheckInAsync] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); //var staffList = await _userProfileRepository.GetOCStaffAsync(profile) return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); } From 76697c4f63873b31bb1b9c1b510c4ec2e170aea3 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 15 May 2026 16:14:50 +0700 Subject: [PATCH 36/90] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84?= =?UTF-8?q?=E0=B8=82=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=84=E0=B8=A7=E0=B8=B2?= =?UTF-8?q?=E0=B8=A1=20Notofication?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index e2a4010b..3b1ec5b7 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -951,7 +951,7 @@ namespace BMA.EHR.Leave.Service.Controllers { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByCheckInAsync] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); await _notificationService.SendNotificationAsync(data.Token, true, - "āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļĢāļĩāļĒāļ API [GetProfileByCheckInAsync] : āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰"); + $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰ \r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); //var staffList = await _userProfileRepository.GetOCStaffAsync(profile) return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); } @@ -962,7 +962,7 @@ namespace BMA.EHR.Leave.Service.Controllers { //throw new Exception(GlobalMessages.NoFileToUpload); await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, GlobalMessages.NoFileToUpload); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification @@ -1000,7 +1000,7 @@ namespace BMA.EHR.Leave.Service.Controllers catch (Exception ex) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification @@ -1035,7 +1035,7 @@ namespace BMA.EHR.Leave.Service.Controllers catch (Exception ex) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification @@ -1061,7 +1061,7 @@ namespace BMA.EHR.Leave.Service.Controllers { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ Default"); await _notificationService.SendNotificationAsync(data.Token, true, - $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ Default"); + $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ Default\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification { @@ -1215,12 +1215,12 @@ namespace BMA.EHR.Leave.Service.Controllers if (currentCheckIn != null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļ”āđ‰ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§"); - await _notificationService.SendNotificationAsync(data.Token, true,$"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§"); + await _notificationService.SendNotificationAsync(data.Token, true,$"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification { - Body = $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§", + Body = $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļĩāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđƒāļ™āļ§āļąāļ™āļ™āļĩāđ‰āđāļĨāđ‰āļ§", ReceiverUserId = profile.Id, Type = "", Payload = "", @@ -1373,7 +1373,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (checkout == null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); - await _notificationService.SendNotificationAsync(data.Token,true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); + await _notificationService.SendNotificationAsync(data.Token,true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification @@ -1394,7 +1394,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (currentCheckInProcess == null) { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ (CheckIn)"); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ (CheckIn)"); + await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™ (CheckIn)\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification @@ -1572,7 +1572,7 @@ namespace BMA.EHR.Leave.Service.Controllers else { await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); - await _notificationService.SendNotificationAsync(data.Token,true, $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™"); + await _notificationService.SendNotificationAsync(data.Token,true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification { @@ -1597,7 +1597,7 @@ namespace BMA.EHR.Leave.Service.Controllers }); await _checkInJobStatusRepository.UpdateToCompletedAsync(taskId, additionalData); await _notificationService.SendNotificationAsync(data.Token, false, - $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āļŠāļģāđ€āļĢāđ‡āļˆ"); + $"āļĨāļ‡āđ€āļ§āļĨāļēāļŠāļģāđ€āļĢāđ‡āļˆ"); } var checkInType = data.CheckInId == null ? "check-in" : "check-out"; From 6e5284b3c77b0f469a924e48ce539dc428ffb838 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 15 May 2026 17:14:50 +0700 Subject: [PATCH 37/90] =?UTF-8?q?fix=20=E0=B8=A2=E0=B8=A8=E0=B9=84?= =?UTF-8?q?=E0=B8=A1=E0=B9=88=E0=B9=81=E0=B8=AA=E0=B8=94=E0=B8=87=E0=B9=83?= =?UTF-8?q?=E0=B8=99=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=97=E0=B8=B0?= =?UTF-8?q?=E0=B9=80=E0=B8=9A=E0=B8=B5=E0=B8=A2=E0=B8=99=E0=B8=9B=E0=B8=A3?= =?UTF-8?q?=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=AB=E0=B8=A5?= =?UTF-8?q?=E0=B8=B1=E0=B8=87=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B8=84=E0=B8=B3?= =?UTF-8?q?=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=82=E0=B8=AD=E0=B8=99=E0=B9=80=E0=B8=AA=E0=B8=A3=E0=B9=87?= =?UTF-8?q?=E0=B8=88=E0=B8=AA=E0=B8=B4=E0=B9=89=E0=B8=99=20#2469?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementReceiveController.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 91c65c86..68634c78 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -1140,7 +1140,7 @@ namespace BMA.EHR.Placement.Service.Controllers { bodyProfile = new { - rank = string.Empty, + rank = string.IsNullOrEmpty(p.rank) ? string.Empty : p.rank, prefix = p.prefix == null ? string.Empty : p.prefix, firstName = p.firstName == null ? string.Empty : p.firstName, lastName = p.lastName == null ? string.Empty : p.lastName, @@ -1222,7 +1222,6 @@ namespace BMA.EHR.Placement.Service.Controllers }).ToList(); var baseAPIOrg = _configuration["API"]; - //var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; var apiUrlOrg = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; using (var client = new HttpClient()) { From c2795d68913e941e990dec4640b9eec07244db59 Mon Sep 17 00:00:00 2001 From: harid Date: Tue, 19 May 2026 16:20:58 +0700 Subject: [PATCH 38/90] =?UTF-8?q?fix=20=E0=B8=AA=E0=B9=88=E0=B8=87?= =?UTF-8?q?=E0=B8=82=E0=B8=AD=E0=B8=A5=E0=B8=B2=E0=B8=AD=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=88=E0=B8=B2=E0=B8=81=E0=B8=97=E0=B8=B0=E0=B9=80=E0=B8=9A?= =?UTF-8?q?=E0=B8=B5=E0=B8=A2=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=B4=20=E0=B8=95=E0=B9=89=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B8=AA=E0=B8=B2=E0=B8=A1=E0=B8=B2=E0=B8=A3=E0=B8=96?= =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82=E0=B8=82=E0=B9=89?= =?UTF-8?q?=E0=B8=AD=E0=B8=A1=E0=B8=B9=E0=B8=A5=E0=B9=80=E0=B8=87=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=99=E0=B9=84=E0=B8=82=E0=B8=95=E0=B9=88?= =?UTF-8?q?=E0=B8=B2=E0=B8=87=20=E0=B9=86=20=E0=B9=84=E0=B8=94=E0=B9=89=20?= =?UTF-8?q?#2501?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RetirementResignController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index ea791129..b3c42f88 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1456,10 +1456,12 @@ namespace BMA.EHR.Retirement.Service.Controllers else if ((retirementResign.posTypeNameOld == "āļ—āļąāđˆāļ§āđ„āļ›" && retirementResign.posLevelNameOld == "āļ­āļēāļ§āļļāđ‚āļŠ") || (retirementResign.posTypeNameOld == "āļ§āļīāļŠāļēāļāļēāļĢ" && retirementResign.posLevelNameOld == "āļŠāļģāļ™āļēāļāļāļēāļĢāļžāļīāđ€āļĻāļĐ") || (retirementResign.posTypeNameOld == "āļ­āļģāļ™āļ§āļĒāļāļēāļĢ" && retirementResign.posLevelNameOld == "āļ•āđ‰āļ™")) { retirementResign.Group = "1.2"; + retirementResign.ApproveStep = "st3"; } else if ((retirementResign.posTypeNameOld == "āļ—āļąāđˆāļ§āđ„āļ›" && retirementResign.posLevelNameOld == "āļ—āļąāļāļĐāļ°āļžāļīāđ€āļĻāļĐ") || (retirementResign.posTypeNameOld == "āļ§āļīāļŠāļēāļāļēāļĢ" && retirementResign.posLevelNameOld == "āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ") || (retirementResign.posTypeNameOld == "āļ§āļīāļŠāļēāļāļēāļĢ" && retirementResign.posLevelNameOld == "āļ—āļĢāļ‡āļ„āļļāļ“āļ§āļļāļ’āļī") || (retirementResign.posTypeNameOld == "āļ­āļģāļ™āļ§āļĒāļāļēāļĢ" && retirementResign.posLevelNameOld == "āļŠāļđāļ‡") || (retirementResign.posTypeNameOld == "āļšāļĢāļīāļŦāļēāļĢ" && retirementResign.posLevelNameOld == "āļ•āđ‰āļ™") || (retirementResign.posTypeNameOld == "āļšāļĢāļīāļŦāļēāļĢ" && retirementResign.posLevelNameOld == "āļŠāļđāļ‡")) { retirementResign.Group = "2"; + retirementResign.ApproveStep = "st3"; } } await _context.RetirementResigns.AddAsync(retirementResign); From 3f8ae1ede9f329355c5410ae551c14b97c5a24e1 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 20 May 2026 16:24:24 +0700 Subject: [PATCH 39/90] fix #2503 --- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 8dee308e..15d054ce 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1706,7 +1706,11 @@ namespace BMA.EHR.Leave.Service.Controllers var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUserAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId); - var restDayOld = govAge < 180 ? 0 : leaveData == null ? 0 : (leaveData.LeaveDays + leaveData.BeginningLeaveDays - 10); + + var restDayOld = 0.0; + + //restDayOld = govAge < 180 ? 0 : leaveData == null ? 0 : (leaveData.LeaveDays + leaveData.BeginningLeaveDays - 10); + restDayOld = govAge < 180 ? 0 : leaveData == null ? 0 : (leaveData.LeaveDays - 10); if (restDayOld < 0) restDayOld = 0; var restDayCurrent = govAge < 180 ? 0 : 10; From 2146e0e0ca24742e2c1508ac104aab1f77c2050f Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 21 May 2026 15:49:51 +0700 Subject: [PATCH 40/90] fix issue #2515 --- .../Controllers/LeaveReportController.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 09542e34..ec31f89a 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -1675,18 +1675,22 @@ namespace BMA.EHR.Leave.Service.Controllers agencyCount = agencyCount, coupleCount = coupleCount, therapyCount = therapyCount, + + // āļĢāļ°āļšāļšāļ™āļąāļšāļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡ āļ§āļąāļ™āļĨāļēāļžāļąāļāļœāđˆāļ­āļ™āļ”āđ‰āļ§āļĒ āļ‹āļķāđˆāļ‡āļ•āļēāļĄāļĢāļ°āđ€āļšāļĩāļĒāļšāđ„āļĄāđˆāđƒāļŦāđ‰āļ™āļąāļšāļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ§āļąāļ™āļĨāļēāļžāļąāļāļœāđˆāļ­āļ™āļ„āļĢāļąāļš āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļąāļšāđ€āļ‰āļžāļēāļ° āļ›āđˆāļ§āļĒ āļāļąāļš āļāļīāļˆ + leaveTotal = sickCount + + personalCount - leaveTotal = sickCount + - maternityCount + - wifeCount + - personalCount + - restCount + - ordainCount + - absentCount + - studyCount + - agencyCount + - coupleCount + - therapyCount + // leaveTotal = sickCount + + // maternityCount + + // wifeCount + + // personalCount + + // restCount + + // ordainCount + + // absentCount + + // studyCount + + // agencyCount + + // coupleCount + + // therapyCount }; From 22e04d90fe72d1eb7ed53d6d692133cd80dabbc5 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 21 May 2026 16:00:07 +0700 Subject: [PATCH 41/90] =?UTF-8?q?Migrate=20=E0=B9=80=E0=B8=9E=E0=B8=B4?= =?UTF-8?q?=E0=B9=88=E0=B8=A1=E0=B8=9F=E0=B8=B4=E0=B8=A5=E0=B8=94=E0=B9=8C?= =?UTF-8?q?=20posExecutiveId=20=E0=B8=95=E0=B8=B2=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=20PlacementProfiles,=20PlacementReceives,=20Placement?= =?UTF-8?q?Appointments,=20RetirementOthers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Placement/PlacementAppointment.cs | 4 + .../Models/Placement/PlacementProfile.cs | 4 + .../Models/Placement/PlacementReceive.cs | 4 + .../Models/Retirement/RetirementOther.cs | 4 + ...date_Tables_add_posExecutiveId.Designer.cs | 21266 ++++++++++++++++ ...081933_update_Tables_add_posExecutiveId.cs | 66 + .../ApplicationDBContextModelSnapshot.cs | 16 + 7 files changed, 21364 insertions(+) create mode 100644 BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.cs diff --git a/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs b/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs index 870a7817..474dcb69 100644 --- a/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs +++ b/BMA.EHR.Domain/Models/Placement/PlacementAppointment.cs @@ -119,6 +119,10 @@ namespace BMA.EHR.Domain.Models.Placement public string? position { get; set; } [Comment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] public string? PositionExecutive { get; set; } + + [Comment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] + public string? posExecutiveId { get; set; } + [Comment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] public string? posTypeId { get; set; } [Comment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] diff --git a/BMA.EHR.Domain/Models/Placement/PlacementProfile.cs b/BMA.EHR.Domain/Models/Placement/PlacementProfile.cs index 5a94e63b..c660c8ca 100644 --- a/BMA.EHR.Domain/Models/Placement/PlacementProfile.cs +++ b/BMA.EHR.Domain/Models/Placement/PlacementProfile.cs @@ -321,6 +321,10 @@ namespace BMA.EHR.Domain.Models.Placement public string? positionName { get; set; } [Comment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] public string? PositionExecutive { get; set; } + + [Comment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] + public string? posExecutiveId { get; set; } + [Comment("āļŠāļēāļĒāļ‡āļēāļ™")] public string? positionField { get; set; } [Comment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] diff --git a/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs b/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs index 5187360e..3b1b625c 100644 --- a/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs +++ b/BMA.EHR.Domain/Models/Placement/PlacementReceive.cs @@ -132,6 +132,10 @@ namespace BMA.EHR.Domain.Models.Placement public string? position { get; set; } [Comment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] public string? PositionExecutive { get; set; } + + [Comment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] + public string? posExecutiveId { get; set; } + [Comment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] public string? posTypeId { get; set; } [Comment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] diff --git a/BMA.EHR.Domain/Models/Retirement/RetirementOther.cs b/BMA.EHR.Domain/Models/Retirement/RetirementOther.cs index b37e47aa..c1f69ece 100644 --- a/BMA.EHR.Domain/Models/Retirement/RetirementOther.cs +++ b/BMA.EHR.Domain/Models/Retirement/RetirementOther.cs @@ -173,6 +173,10 @@ namespace BMA.EHR.Domain.Models.Retirement public string? position { get; set; } [Comment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] public string? PositionExecutive { get; set; } + + [Comment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ")] + public string? posExecutiveId { get; set; } + [Comment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] public string? posTypeId { get; set; } [Comment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡")] diff --git a/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.Designer.cs b/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.Designer.cs new file mode 100644 index 00000000..894b1262 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.Designer.cs @@ -0,0 +1,21266 @@ +ïŧŋ// +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 +{ + [DbContext(typeof(ApplicationDBContext))] + [Migration("20260521081933_update_Tables_add_posExecutiveId")] + partial class update_Tables_add_posExecutiveId + { + /// + 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.Commands.Core.Command", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļĢāļąāļāļĐāļēāļāļēāļĢāđāļ—āļ™"); + + b.Property("ActStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļĢāļąāļāļĐāļēāļāļēāļĢāđāļ—āļ™"); + + b.Property("AuthorizedPosition") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("AuthorizedUserFullName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("AuthorizedUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļœāļđāđ‰āļĄāļĩāļ­āļģāļ™āļēāļˆāļĨāļ‡āļ™āļēāļĄ"); + + b.Property("CaseFault") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ChairManFullName") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āļ˜āļēāļ™āļ„āļ“āļ°āļāļĢāļĢāļĄāļāļēāļĢ"); + + b.Property("CommandAffectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡āļĄāļĩāļœāļĨ"); + + b.Property("CommandExcecuteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandNo") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandStatusId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŠāļ–āļēāļ™āļ°āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandSubject") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.Property("CommandTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandYear") + .IsRequired() + .HasMaxLength(4) + .HasColumnType("varchar(4)") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("ComplaintId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĢāļ·āđˆāļ­āļ‡āļĢāđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ™"); + + b.Property("ConclusionFireDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionFireNo") + .HasColumnType("longtext") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionFireResolution") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļīāļ—āļĩāđˆāļ›āļĢāļ°āļŠāļļāļĄ (āđ€āļĢāļ·āđˆāļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ)"); + + b.Property("ConclusionMeetingDate") + .HasColumnType("datetime(6)") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ConclusionMeetingNo") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ConclusionReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™)"); + + b.Property("ConclusionReceiveNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™)"); + + b.Property("ConclusionRegisterDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļĢāļąāļšāļŠāļĄāļąāļ„āļĢāļŠāļ­āļšāļŊ)"); + + b.Property("ConclusionRegisterNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļĢāļąāļšāļŠāļĄāļąāļ„āļĢāļŠāļ­āļšāļŊ)"); + + b.Property("ConclusionResultDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļœāļĨāļāļēāļĢāļŠāļ­āļšāđāļ‚āđˆāļ‡āļ‚āļąāļ™)"); + + b.Property("ConclusionResultNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļœāļĨāļāļēāļĢāļŠāļ­āļšāđāļ‚āđˆāļ‡āļ‚āļąāļ™)"); + + b.Property("ConclusionReturnDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļāļĨāļąāļšāđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("ConclusionReturnNo") + .HasColumnType("longtext") + .HasComment("āļĄāļ•āļī āļāļ. āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ (āđ€āļĢāļ·āđˆāļ­āļ‡ āļāļĨāļąāļšāđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("ConclusionTranferDate") + .HasColumnType("datetime(6)") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ConclusionTranferNo") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ›āļĢāļ°āļŠāļļāļĄ āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Fault") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļāļĢāļ°āļ—āļģāļœāļīāļ”"); + + b.Property("FaultLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("GovAidCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āļ„āļģāļŠāļąāđˆāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("GovAidCommandNo") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ (āļ„āļģāļŠāļąāđˆāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢ)"); + + b.Property("GuiltyBasis") + .HasColumnType("longtext") + .HasComment("āļāļēāļ™āļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("IssuerOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("IssuerOrganizationName") + .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("Member1FullName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļĢāļĄāļāļēāļĢāļ„āļ™āļ—āļĩāđˆ 1"); + + b.Property("Member2FullName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļĢāļĄāļāļēāļĢāļ„āļ™āļ—āļĩāđˆ 2"); + + b.Property("MilitaryCommanDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ (āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ)"); + + b.Property("MilitaryCommandNo") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆ (āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ)"); + + b.Property("OwnerGovId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļœāļđāđ‰āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PlacementCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("PlacementCommandIssuer") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementId") + .HasColumnType("char(36)") + .HasComment("āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļĢāļ­āļšāļāļēāļĢāļŠāļ­āļš"); + + b.Property("PlacementOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("PlacementPositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("ProbationEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļ—āļ”āļĨāļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ProbationStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ—āļ”āļĨāļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReceiveOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāļĢāļąāļšāđ‚āļ­āļ™"); + + b.Property("RefRaw") + .HasColumnType("longtext") + .HasComment("āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļĄāļēāļ•āļĢāļēāļ•āļēāļĄāļāļāļŦāļĄāļēāļĒ"); + + b.Property("Result") + .HasColumnType("longtext") + .HasComment("āļœāļĨāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļē"); + + b.Property("SalaryPeriod") + .HasColumnType("longtext") + .HasComment("āļĢāļ­āļšāđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryPeriodId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĢāļ·āđˆāļ­āļ‡āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SourceOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ” āļāđˆāļ­āļ™āļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ"); + + b.Property("TransferOrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāđƒāļŦāđ‰āđ‚āļ­āļ™"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("varchar(4)") + .HasComment("āļ›āļĩāļĢāļ­āļšāđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.HasKey("Id"); + + b.HasIndex("CommandStatusId"); + + b.HasIndex("CommandTypeId"); + + b.HasIndex("PlacementId"); + + b.ToTable("Commands"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CommandId") + .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("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .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("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("ReceiveUserId") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļĢāļ°āļšāļš"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.ToTable("CommandDeployments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āđ€āļ­āļāļŠāļēāļĢ"); + + b.Property("CommandId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.HasIndex("DocumentId"); + + b.ToTable("CommandDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BirthDate") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CommandId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Comment2") + .IsRequired() + .HasColumnType("text") + .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("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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionNumber") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("RefDisciplineId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ§āļīāļ™āļąāļĒ"); + + b.Property("RefPlacementProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āļšāļĢāļĢāļˆāļļ"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāđƒāļ™āļšāļąāļāļŠāļĩāđāļ™āļšāļ—āđ‰āļēāļĒ"); + + b.HasKey("Id"); + + b.HasIndex("CommandId"); + + b.ToTable("CommandReceivers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", 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() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Sequence") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CommandStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandCode") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("CommandTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.DeploymentChannel", 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("IsSendEmail") + .HasColumnType("tinyint(1)"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)"); + + 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.ToTable("DeploymentChannels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Documents"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", 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") + .HasColumnType("longtext") + .HasComment("āļĒāļąāļ‡āđ„āļĄāđˆāļŠāļąāļ§āđƒāļŠāđ‰āļ­āļ°āđ„āļĢāđ€āļ›āđ‡āļ™key"); + + b.HasKey("Id"); + + b.ToTable("LimitLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", 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("LimitLeaveId") + .HasColumnType("char(36)"); + + b.Property("NumLeave") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļĩāđˆāļĨāļēāđ„āļ”āđ‰"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LimitLeaveId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("LimitTypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Ability") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("AvatarId") + .HasColumnType("char(36)"); + + b.Property("AvatarRef") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("CitizenId") + .HasMaxLength(13) + .HasColumnType("varchar(13)") + .HasComment("āļĢāļŦāļąāļŠāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("Couple") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastNameOld") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ(āđ€āļ”āļīāļĄ)"); + + b.Property("CoupleLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CouplePrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUser") + .IsRequired() + .HasMaxLength(250) + .HasColumnType("varchar(250)"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CurrentAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateRetire") + .HasColumnType("datetime(6)"); + + b.Property("DateStart") + .HasColumnType("datetime(6)"); + + b.Property("DutyTimeEffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļĄāļĩāļœāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("EmployeeClass") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeMoneyAllowance") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāđˆāļ§āļĒāđ€āļŦāļĨāļ·āļ­āļ„āđˆāļēāļ„āļĢāļ­āļ‡āļŠāļĩāļžāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§"); + + b.Property("EmployeeMoneyEmployee") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāļĄāļ—āļšāļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ(āļĨāļđāļāļˆāđ‰āļēāļ‡)"); + + b.Property("EmployeeMoneyEmployer") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļŠāļĄāļ—āļšāļ›āļĢāļ°āļāļąāļ™āļŠāļąāļ‡āļ„āļĄ(āļ™āļēāļĒāļˆāđ‰āļēāļ‡)"); + + b.Property("EmployeeMoneyIncrease") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļžāļīāđˆāļĄāļāļēāļĢāļ„āļĢāļ­āļ‡āļŠāļĩāļžāļŠāļąāđˆāļ§āļ„āļĢāļēāļ§"); + + b.Property("EmployeeOc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("EmployeeType") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeTypeIndividual") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļšāļļāļ„āļ„āļĨ"); + + b.Property("EmployeeWage") + .HasColumnType("double") + .HasComment("āļ„āđˆāļēāļˆāđ‰āļēāļ‡"); + + b.Property("EntryStatus") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.Property("FatherCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļšāļīāļ”āļē"); + + b.Property("FatherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļšāļīāļ”āļē"); + + b.Property("FatherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("FirstNameOld") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­(āđ€āļ”āļīāļĄ)"); + + b.Property("GenderId") + .HasColumnType("char(36)"); + + b.Property("GovAgeAbsent") + .HasColumnType("int"); + + b.Property("GovAgePlus") + .HasColumnType("int"); + + b.Property("GovernmentCode") + .HasColumnType("longtext"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsLeave") + .HasColumnType("tinyint(1)"); + + b.Property("IsProbation") + .HasColumnType("tinyint(1)"); + + b.Property("IsSendVerified") + .HasColumnType("tinyint(1)"); + + b.Property("IsTransfer") + .HasColumnType("tinyint(1)"); + + b.Property("IsVerified") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("LastNameOld") + .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("LeaveDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveDateOrder") + .HasColumnType("datetime(6)"); + + b.Property("LeaveDetail") + .HasColumnType("longtext"); + + b.Property("LeaveNumberOrder") + .HasColumnType("longtext"); + + b.Property("LeaveReason") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)"); + + b.Property("LimitLeaveId") + .HasColumnType("char(36)"); + + b.Property("ModifiedDate") + .HasColumnType("datetime(6)"); + + b.Property("MotherCareer") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherCitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLive") + .HasColumnType("tinyint(1)") + .HasComment("āļĄāļĩāļŠāļĩāļ§āļīāļ•āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("Physical") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļžāļ—āļēāļ‡āļāļēāļĒ"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLineId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("PrefixId") + .HasColumnType("char(36)"); + + b.Property("PrefixOldId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē(āđ€āļ”āļīāļĄ)"); + + b.Property("ProfileType") + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("ReasonSameDate") + .HasColumnType("longtext"); + + b.Property("RegistrationAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("RegistrationSubDistrictId") + .HasColumnType("char(36)") + .HasComment("āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RelationshipId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("ReligionId") + .HasColumnType("char(36)") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.Property("TransferDate") + .HasColumnType("datetime(6)"); + + b.Property("VerifiedDate") + .HasColumnType("datetime(6)"); + + b.Property("VerifiedUser") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.HasKey("Id"); + + b.HasIndex("AvatarId"); + + b.HasIndex("GenderId"); + + b.HasIndex("LimitLeaveId"); + + b.HasIndex("PosNoId"); + + b.HasIndex("PositionEmployeeGroupId"); + + b.HasIndex("PositionEmployeeLevelId"); + + b.HasIndex("PositionEmployeeLineId"); + + b.HasIndex("PositionEmployeePositionId"); + + b.HasIndex("PositionEmployeePositionSideId"); + + b.HasIndex("PositionId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionTypeId"); + + b.HasIndex("PrefixId"); + + b.ToTable("Profiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", 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("Detail") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("Field") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAbilitys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbilityHistory", 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("Detail") + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("Field") + .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("ProfileAbilityId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileAbilityId"); + + b.ToTable("ProfileAbilityHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAddressHistory", 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("CurrentAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrict") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvince") + .HasColumnType("longtext") + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrict") + .HasColumnType("longtext") + .HasComment("āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .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)"); + + b.Property("RegistrationAddress") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrict") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ‚āļ•āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvince") + .HasColumnType("longtext") + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationProvinceId") + .HasColumnType("char(36)") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ•āļĢāļ‡āļāļąāļšāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("RegistrationSubDistrict") + .HasColumnType("longtext") + .HasComment("āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationSubDistrictId") + .HasColumnType("char(36)") + .HasComment("Id āđāļ‚āļ§āļ‡āļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistrationZipCode") + .HasMaxLength(5) + .HasColumnType("varchar(5)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđāļšāļšāļ›āļĢāļ°āđ€āļĄāļīāļ™"); + + b.Property("Point1") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point1Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSum") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSumTotal") + .HasColumnType("double") + .HasComment("āļœāļĨāļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAssessments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessmentHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđāļšāļšāļ›āļĢāļ°āđ€āļĄāļīāļ™"); + + b.Property("Point1") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point1Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ1 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("Point2Total") + .HasColumnType("double") + .HasComment("āļŠāđˆāļ§āļ™āļ—āļĩāđˆ2 (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSum") + .HasColumnType("double") + .HasComment("āļœāļĨāļ›āļĢāļ°āđ€āļĄāļīāļ™āļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("PointSumTotal") + .HasColumnType("double") + .HasComment("āļœāļĨāļĢāļ§āļĄ (āļ„āļ°āđāļ™āļ™)"); + + b.Property("ProfileAssessmentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileAssessmentId"); + + b.ToTable("ProfileAssessmentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAvatarHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AvatarFileId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("AvatarFileId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileAvatarHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCertificates"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificateHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("ProfileCertificateId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileCertificateId"); + + b.ToTable("ProfileCertificateHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("LastName") + .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("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Status") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileChangeNames"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeNameHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("LastName") + .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("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileChangeNameId") + .HasColumnType("char(36)"); + + b.Property("Status") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileChangeNameId"); + + b.ToTable("ProfileChangeNameHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ChildrenCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļļāļ•āļĢ"); + + b.Property("ChildrenFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļļāļ•āļĢ"); + + b.Property("ChildrenLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefixId") + .HasColumnType("char(36)") + .HasComment("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("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileChildrens"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildrenHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ChildrenCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļļāļ•āļĢ"); + + b.Property("ChildrenFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļļāļ•āļĢ"); + + b.Property("ChildrenLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļļāļ•āļĢ"); + + b.Property("ChildrenPrefixId") + .HasColumnType("char(36)") + .HasComment("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("ProfileChildrenId") + .HasColumnType("char(36)"); + + b.Property("ProfileFamilyHistoryId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileChildrenId"); + + b.HasIndex("ProfileFamilyHistoryId"); + + b.ToTable("ProfileChildrenHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCoupleHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCoupleHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCurrentAddressHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Address") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileCurrentAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("Level") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileDisciplines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDisciplineHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("Level") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ„āļ§āļēāļĄāļœāļīāļ”"); + + b.Property("ProfileDisciplineId") + .HasColumnType("char(36)"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileDisciplineId"); + + b.ToTable("ProfileDisciplineHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", 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("Detail") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileDutys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDutyHistory", 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("Detail") + .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("ProfileDutyId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileDutyId"); + + b.ToTable("ProfileDutyHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Id āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļŠāļ–āļēāļ™āļĻāļķāļāļĐāļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileEducations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducationHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Id āļĢāļ°āļ”āļąāļšāļĻāļķāļāļĐāļē"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileEducationId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileEducationId"); + + b.ToTable("ProfileEducationHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmployment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Command") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileEmployments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmploymentHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Command") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .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("ProfileEmploymentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileEmploymentId"); + + b.ToTable("ProfileEmploymentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Couple") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CoupleLastNameOld") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ(āđ€āļ”āļīāļĄ)"); + + b.Property("CouplePrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("CouplePrefixId") + .HasColumnType("char(36)") + .HasComment("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("FatherCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("FatherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļšāļīāļ”āļē"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("MotherCareer") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherFirstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļĄāļēāļĢāļ”āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileFamilyHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFatherHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileFatherHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileGovernmentHistory", 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("DateAppoint") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļąāđˆāļ‡āļšāļĢāļĢāļˆāļļ"); + + b.Property("DateStart") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļĢāļīāđˆāļĄāļ›āļŽāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAge") + .HasColumnType("longtext") + .HasComment("āļ­āļēāļĒāļļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAgeAbsent") + .HasColumnType("int") + .HasComment("āļ‚āļēāļ”āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("GovAgePlus") + .HasColumnType("int") + .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("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Position") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeeGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ReasonSameDate") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļĢāļ“āļĩāđ„āļĄāđˆāļ•āļĢāļ‡āļ§āļąāļ™"); + + b.Property("RetireDate") + .HasColumnType("longtext") + .HasComment("āļ§āļąāļ™āđ€āļāļĐāļĩāļĒāļ“āļ­āļēāļĒāļļ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileGovernmentHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)") + .HasComment("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("EmployeeClass") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("EmployeeType") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļˆāđ‰āļēāļ‡"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("āđ€āļžāļĻ"); + + b.Property("GenderId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļžāļĻ"); + + 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("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("Prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("PrefixId") + .HasColumnType("char(36)") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("RelationshipId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("āļĻāļēāļŠāļ™āļē"); + + b.Property("ReligionId") + .HasColumnType("char(36)") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", 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("Detail") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļē"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileHonors"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonorHistory", 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("Detail") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("ProfileHonorId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileHonorId"); + + b.ToTable("ProfileHonorHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", 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("DateAnnounce") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļĢāļēāļŠāļāļīāļˆāļˆāļēāļŊ"); + + b.Property("InsigniaId") + .HasColumnType("char(36)"); + + b.Property("InsigniaType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Issue") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .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("No") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Page") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļŦāļ™āđ‰āļē"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("RefCommandDate") + .HasColumnType("datetime(6)") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.Property("Section") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļ•āļ­āļ™"); + + b.Property("Volume") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄ"); + + b.Property("VolumeNo") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileInsignias"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsigniaHistory", 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("DateAnnounce") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ›āļĢāļ°āļāļēāļĻāđƒāļ™āļĢāļēāļŠāļāļīāļˆāļˆāļēāļŊ"); + + b.Property("Insignia") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("InsigniaId") + .HasColumnType("char(36)"); + + b.Property("InsigniaType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Issue") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .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("No") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Note") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("Page") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļŦāļ™āđ‰āļē"); + + b.Property("ProfileInsigniaId") + .HasColumnType("char(36)"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Section") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āļ•āļ­āļ™"); + + b.Property("Volume") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄ"); + + b.Property("VolumeNo") + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileInsigniaId"); + + b.ToTable("ProfileInsigniaHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", 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("DateEndLeave") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("DateStartLeave") + .HasColumnType("datetime(6)") + .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("NumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.Property("SumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļĄāļēāđāļĨāđ‰āļ§"); + + b.Property("TotalLeave") + .HasColumnType("double") + .HasComment("āļĢāļ§āļĄāđ€āļ›āđ‡āļ™"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("ProfileLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveHistory", 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("DateEndLeave") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("DateStartLeave") + .HasColumnType("datetime(6)") + .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("NumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("ProfileLeaveId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°"); + + b.Property("SumLeave") + .HasColumnType("double") + .HasComment("āļĨāļēāļĄāļēāđāļĨāđ‰āļ§"); + + b.Property("TotalLeave") + .HasColumnType("double") + .HasComment("āļĢāļ§āļĄāđ€āļ›āđ‡āļ™"); + + b.Property("TypeLeaveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileLeaveId"); + + b.HasIndex("TypeLeaveId"); + + b.ToTable("ProfileLeaveHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveSummary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("LeaveYear") + .HasColumnType("int"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("SumAbsent") + .HasColumnType("longtext"); + + b.Property("SumEducation") + .HasColumnType("longtext"); + + b.Property("SumLate") + .HasColumnType("longtext"); + + b.Property("SumRest") + .HasColumnType("longtext"); + + b.Property("SumSick") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileLeaveSummary"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileMotherHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Career") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("LastName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileMotherHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileNopaids"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaidHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ"); + + b.Property("Detail") + .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("ProfileNopaidId") + .HasColumnType("char(36)"); + + b.Property("Reference") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileNopaidId"); + + b.ToTable("ProfileNopaidHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOrganization", 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("OrganizationId") + .HasColumnType("char(36)") + .HasComment("Id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāļąāļ‡āļāļąāļ”"); + + b.Property("UserId") + .HasColumnType("char(36)") + .HasComment("User Id KeyCloak"); + + b.HasKey("Id"); + + b.ToTable("ProfileOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Detail") + .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)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileOthers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOtherHistory", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Detail") + .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("ProfileOtherId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileOtherId"); + + b.ToTable("ProfileOtherHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfilePaper", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CategoryName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āđ„āļŸāļĨāđŒ-āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Detail") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfilePapers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileRegistrationAddressHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Address") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.Property("SubDistrictId") + .HasColumnType("char(36)"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(5) + .HasColumnType("varchar(5)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileRegistrationAddressHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AgencyName") + .HasColumnType("longtext") + .HasComment("AgencyName"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("CLevel") + .HasColumnType("longtext") + .HasComment("CLevel"); + + b.Property("CommandNo") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CommandTypeName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩ āļĢāļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + 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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.Property("OrgName") + .HasColumnType("longtext") + .HasComment("OrgName"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoName") + .HasColumnType("longtext") + .HasComment("PosNoName"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveName") + .HasColumnType("longtext") + .HasComment("PositionExecutiveName"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelName") + .HasColumnType("longtext"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineName") + .HasColumnType("longtext") + .HasComment("PositionLineName"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("PositionName"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideName") + .HasColumnType("longtext") + .HasComment("PositionPathSideName"); + + b.Property("PositionRef") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("Id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeName") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RefCommandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡ (āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡)"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("SalaryStatus") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡āļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ"); + + b.HasKey("Id"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileSalaries"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryHistory", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .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("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Oc") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OcId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("PosNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PosNoEmployee") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.Property("PosNoId") + .HasColumnType("char(36)") + .HasComment("Id āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Position") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeeGroup") + .HasColumnType("longtext") + .HasComment("āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeGroupId") + .HasColumnType("char(36)") + .HasComment("Id āļāļĨāļļāđˆāļĄāļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™"); + + b.Property("PositionEmployeePosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasComment("Id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)") + .HasComment(" Id āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionLineId") + .HasColumnType("char(36)") + .HasComment("Id āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("Id āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("Id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("ProfileSalaryId") + .HasColumnType("char(36)"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("ProfileSalaryId"); + + b.ToTable("ProfileSalaryHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryOrganization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("PositionId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PositionId"); + + b.ToTable("ProfileSalaryPositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionNumber", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionsNumbers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPositionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasComment("āđ„āļĄāđˆāđƒāļŠāđ‰"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.HasKey("Id"); + + b.ToTable("ProfileSalaryPositionTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", 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("DateOrder") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ/āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Department") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļˆāļąāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Duration") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļĢāļ§āļĄāļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļē"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļāļēāļĢ/āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ"); + + b.Property("NumberOrder") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡/āđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Place") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Topic") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āļ‚āđ‰āļ­āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Yearly") + .HasMaxLength(200) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļšāļĢāļĄ (āļž.āļĻ.)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfileTrainings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTrainingHistory", 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("DateOrder") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļģāļŠāļąāđˆāļ‡āļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ/āļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Department") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļˆāļąāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Duration") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļĢāļ§āļĄāļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āđ‚āļ„āļĢāļ‡āļāļēāļĢ/āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ"); + + b.Property("NumberOrder") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡/āđ€āļĨāļ‚āļ—āļĩāđˆāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Place") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("ProfileTrainingId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Topic") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āļ‚āđ‰āļ­āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄ/āļ”āļđāļ‡āļēāļ™"); + + b.Property("Yearly") + .HasMaxLength(200) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ—āļĩāđˆāļ­āļšāļĢāļĄ (āļž.āļĻ.)"); + + b.HasKey("Id"); + + b.HasIndex("ProfileTrainingId"); + + b.ToTable("ProfileTrainingHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.TypeLeave", 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") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("TypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaEmployee", 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("InsigniaPeriodId") + .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("RefId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaPeriodId"); + + b.ToTable("InsigniaEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", 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("InsigniaId") + .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("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩ"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaId"); + + b.ToTable("InsigniaManages"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", 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("InsigniaManageId") + .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("Organization") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("OrganizationId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaManageId"); + + b.ToTable("InsigniaManageOrganiations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BorrowDate") + .HasColumnType("datetime(6)") + .HasComment("āļĒāļ·āļĄāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("BorrowOrganization") + .HasColumnType("longtext"); + + b.Property("BorrowOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Borrow"); + + 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("InsigniaManageOrganiationId") + .HasColumnType("char(36)"); + + b.Property("InsigniaNoteProfileId") + .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("ReturnDate") + .HasColumnType("datetime(6)") + .HasComment("āļ„āļ·āļ™āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("ReturnOrganization") + .HasColumnType("longtext"); + + b.Property("ReturnOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Return"); + + b.Property("ReturnReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ„āļ·āļ™"); + + b.Property("Status") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ„āļ·āļ™"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaManageOrganiationId"); + + b.HasIndex("InsigniaNoteProfileId"); + + b.ToTable("InsigniaManageProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNote", 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") + .HasMaxLength(200) + .HasColumnType("varchar(200)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("InsigniaNotes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("InsigniaNoteId") + .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("Reason") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("InsigniaNoteId"); + + b.ToTable("InsigniaNoteDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Address") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ—āļĩāđˆāļˆāđˆāļēāļĒ"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DatePayment") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļˆāđˆāļēāļĒāđƒāļšāļāļģāļāļąāļš"); + + b.Property("DateReceive") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DateReceiveInsignia") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DateReturnInsignia") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("DocReceiveInsigniaId") + .HasColumnType("char(36)"); + + b.Property("DocReturnInsigniaId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("InsigniaNoteId") + .HasColumnType("char(36)"); + + b.Property("IsApprove") + .HasColumnType("tinyint(1)"); + + b.Property("Issue") + .HasColumnType("longtext") + .HasComment("āļ—āļ°āđ€āļšāļĩāļĒāļ™āļāļēāļ™āļąāļ™āļ”āļĢ"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("No") + .HasColumnType("longtext") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Number") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ›āļĢāļ°āļāļēāļĻāļ™āļĩāļĒāļšāļąāļ•āļĢāļāļģāļāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReceiveInsignia") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReceiveInsigniaId") + .HasColumnType("char(36)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReturnInsignia") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrgReturnInsigniaId") + .HasColumnType("char(36)") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ„āļ·āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrganizationOrganizationReceive") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ” āļ“ āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("OrganizationOrganizationSend") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ” āļ“ āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļžāļĢāļ°āļĢāļēāļŠāļ—āļēāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("Page") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("PosLevelName") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PosTypeName") + .HasColumnType("longtext"); + + b.Property("Position") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RequestDate") + .HasColumnType("datetime(6)"); + + b.Property("RequestInsigniaId") + .HasColumnType("char(36)"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double"); + + b.Property("Section") + .HasColumnType("longtext") + .HasComment("āļ•āļ­āļ™āļ—āļĩāđˆ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("TypePayment") + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļˆāđˆāļēāļĒ"); + + b.Property("VolumeNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāđˆāļĄāļ—āļĩāđˆ"); + + b.HasKey("Id"); + + b.HasIndex("DocReceiveInsigniaId"); + + b.HasIndex("DocReturnInsigniaId"); + + b.HasIndex("InsigniaNoteId"); + + b.HasIndex("RequestInsigniaId"); + + b.ToTable("InsigniaNoteProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasMaxLength(50) + .HasColumnType("int") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsLock") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢ Freez āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + 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") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ­āļšāđ€āļŠāļ™āļ­āļ‚āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("ReliefDocId") + .HasColumnType("char(36)"); + + b.Property("RevisionId") + .HasColumnType("char(36)"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļĢāļēāļšāļāļēāļĢāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄ"); + + b.Property("Type") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļ‚āļ­"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩ"); + + b.HasKey("Id"); + + b.HasIndex("ReliefDocId"); + + b.ToTable("InsigniaPeriods"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaReclaimProfile", 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("InsigniaNoteProfileId") + .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("ReclaimDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ„āļ·āļ™"); + + b.Property("ReclaimOrganization") + .HasColumnType("longtext"); + + b.Property("ReclaimOrganizationId") + .HasColumnType("char(36)") + .HasComment("Fk Table OrganizationOrganization Borrow"); + + b.Property("ReclaimReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāļ„āļ·āļ™"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaNoteProfileId"); + + b.ToTable("InsigniaReclaimProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PeriodId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RequestNote") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequestStatus") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PeriodId"); + + b.ToTable("InsigniaRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequestProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("APR1") + .HasColumnType("longtext"); + + b.Property("APR2") + .HasColumnType("longtext"); + + b.Property("APR3") + .HasColumnType("longtext"); + + b.Property("APR4") + .HasColumnType("longtext"); + + b.Property("APR5") + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsApprove") + .HasColumnType("tinyint(1)"); + + b.Property("LastInsigniaName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("MarkDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āļĄāļĩāđ‚āļ—āļĐāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("MarkInsignia") + .HasColumnType("tinyint(1)"); + + b.Property("MarkLeave") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļĨāļ·āđˆāļ­āļ™āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™/āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļĨāļ·āđˆāļ­āļ™āļ‚āļąāđ‰āļ™ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĨāļēāđ€āļāļīāļ™"); + + b.Property("MarkRate") + .HasColumnType("tinyint(1)") + .HasComment("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™ āļœāļĨāļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāđƒāļ™āļĢāļ­āļš 5 āļ›āļĩ āļ•āđˆāļģāļāļ§āđˆāļēāļĢāļ°āļ”āļąāļšāļ”āļĩ (āļ™āđ‰āļ­āļĒāļāļ§āđˆāļēāļĢāđ‰āļ­āļĒāļĨāļ° 70)"); + + b.Property("MatchingConditions") + .HasColumnType("text") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊāļ—āļĩāđˆāļ‚āļ­"); + + b.Property("OCT1") + .HasColumnType("longtext"); + + b.Property("OCT2") + .HasColumnType("longtext"); + + b.Property("OCT3") + .HasColumnType("longtext"); + + b.Property("OCT4") + .HasColumnType("longtext"); + + b.Property("OCT5") + .HasColumnType("longtext"); + + b.Property("PosLevelName") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PosTypeName") + .HasColumnType("longtext"); + + b.Property("Position") + .HasColumnType("longtext"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāđ„āļ”āđ‰āļĢāļąāļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.Property("ReasonReject") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("RequestDate") + .HasColumnType("datetime(6)"); + + b.Property("RequestId") + .HasColumnType("char(36)"); + + b.Property("RequestInsigniaId") + .HasColumnType("char(36)"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("RequestId"); + + b.HasIndex("RequestInsigniaId"); + + b.ToTable("InsigniaRequestProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.BloodGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(2) + .HasColumnType("varchar(2)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŦāļĄāļđāđˆāđ‚āļĨāļŦāļīāļ•"); + + b.HasKey("Id"); + + b.ToTable("BloodGroups"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āđ€āļ‚āļ•/āļ­āļģāđ€āļ āļ­"); + + b.Property("ProvinceId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ProvinceId"); + + b.ToTable("Districts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.EducationLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļĢāļ°āļ”āļąāļšāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.HasKey("Id"); + + b.ToTable("EducationLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Gender", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasColumnOrder(1) + .HasComment("āđ€āļžāļĻ"); + + b.HasKey("Id"); + + b.ToTable("Genders"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Holiday", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Category") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(6) + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļ§āļąāļ™āļŦāļĒāļļāļ”āļŠāļģāļŦāļĢāļąāļš āļ—āļģāļ‡āļēāļ™ 5 āļ§āļąāļ™=`NORMAL`,āļ—āļģāļ‡āļēāļ™ 6 āļ§āļąāļ™=`6DAYS`"); + + 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("HolidayDate") + .HasColumnType("datetime(6)") + .HasColumnOrder(2) + .HasComment("āļ§āļąāļ™āļŦāļĒāļļāļ”"); + + b.Property("IsSpecial") + .HasColumnType("tinyint(1)") + .HasColumnOrder(5) + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļąāļ™āļŦāļĒāļļāļ”āļžāļīāđ€āļĻāļĐāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(250) + .HasColumnType("varchar(250)") + .HasColumnOrder(4) + .HasComment("āļŠāļ·āđˆāļ­āļ§āļąāļ™āļŦāļĒāļļāļ”"); + + b.Property("OriginalDate") + .HasColumnType("datetime(6)") + .HasColumnOrder(3) + .HasComment("āļ§āļąāļ™āļŦāļĒāļļāļ”(Original)"); + + b.Property("Year") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.HasKey("Id"); + + b.ToTable("Holidays"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Insignia", 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("InsigniaTypeId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Level") + .HasColumnType("int") + .HasColumnOrder(4) + .HasComment("āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ āđ€āļ­āļēāđ„āļ§āđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ§āļĨāļēāļ‚āļ­āļ§āđˆāļēāļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰āļŠāļąāđ‰āļ™āļ—āļĩāđˆāļŠāļđāļ‡āļāļ§āđˆāļēāļ—āļĩāđˆāđ€āļ„āļĒāđ„āļ”āđ‰āļĢāļąāļšāđāļĨāđ‰āļ§āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("varchar(30)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.HasKey("Id"); + + b.HasIndex("InsigniaTypeId"); + + b.ToTable("Insignias"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.InsigniaType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠ"); + + b.HasKey("Id"); + + b.ToTable("InsigniaTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("OrganizationAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationFax", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢāļŠāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationFaxs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationGovernmentAgency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāļ•āđ‰āļ™āļŠāļąāļ‡āļāļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("OrganizationGovernmentAgencys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļ°āļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("OrganizationLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationOrganizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AgencyCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļŦāļąāļŠāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("GovernmentCode") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(4) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(3) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļ•āļąāļ§āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationShortNames"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļŠāļ–āļēāļ™āļ°"); + + b.HasKey("Id"); + + b.ToTable("OrganizationStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāļ•āļīāļ”āļ•āđˆāļ­āļ āļēāļĒāļ™āļ­āļ"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTelExternals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āđ€āļšāļ­āļĢāđŒāļ•āļīāļ”āļ•āđˆāļ­āļ āļēāļĒāđƒāļ™"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTelInternals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.OrganizationType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļŠāļ·āđˆāļ­ āļ›āļĢāļ°āđ€āļ āļ—"); + + b.HasKey("Id"); + + b.ToTable("OrganizationTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PhysicalStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļžāļ—āļēāļ‡āļāļēāļĒ"); + + b.HasKey("Id"); + + b.ToTable("PhysicalStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Position", 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("ExecutiveName") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(3) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("ExecutiveSideId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(9) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionCategory") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(8) + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŦāļĢāļ·āļ­āļĨāļđāļāļˆāđ‰āļēāļ‡ officer/employee"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("ExecutiveSideId"); + + b.HasIndex("PathSideId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionTypeId"); + + b.ToTable("Positions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļāļĨāļļāđˆāļĄāļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeGroups"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļŠāļąāđ‰āļ™āļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeLines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeePositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionEmployeeStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļĨāļđāļāļˆāđ‰āļēāļ‡āļāļĢāļļāļ‡āđ€āļ—āļž"); + + b.HasKey("Id"); + + b.ToTable("PositionEmployeeStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionExecutive", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionExecutives"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionExecutiveSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(5) + .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("Level") + .HasColumnType("int") + .HasColumnOrder(4) + .HasComment("āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āļ­āļ‡āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(3) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("PositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionLines"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionPath", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionPaths"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionPathSide", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("Note") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.HasKey("Id"); + + b.ToTable("PositionPathSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ"); + + b.HasKey("Id"); + + b.ToTable("PositionStatuss"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.PositionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Order") + .HasColumnType("int") + .HasColumnOrder(1) + .HasComment("āļĨāļģāļ”āļąāļš"); + + b.HasKey("Id"); + + b.ToTable("PositionTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Prefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(2) + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("Prefixes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Province", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āļˆāļąāļ‡āļŦāļ§āļąāļ”"); + + b.HasKey("Id"); + + b.ToTable("Provinces"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Relationship", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ"); + + b.HasKey("Id"); + + b.ToTable("Relationships"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Religion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļĻāļēāļŠāļ™āļē"); + + b.HasKey("Id"); + + b.ToTable("Religions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Royal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŦāļĢāļĩāļĒāļāļ•āļĢāļē"); + + b.Property("ShortName") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āđ€āļŦāļĢāļĩāļĒāļāļ•āļĢāļē"); + + b.HasKey("Id"); + + b.ToTable("Royals"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.RoyalHierarchy", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļĨāļģāļ”āļąāļšāļŠāļąāđ‰āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.HasKey("Id"); + + b.ToTable("RoyalHierarchys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.RoyalType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(2) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnOrder(1) + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĢāļēāļŠāļŊ"); + + b.HasKey("Id"); + + b.ToTable("RoyalTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.SubDistrict", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DistrictId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("varchar(150)") + .HasColumnOrder(1) + .HasComment("āđ€āļ‚āļ•/āļ­āļģāđ€āļ āļ­"); + + b.Property("ZipCode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasColumnOrder(2) + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒ"); + + b.HasKey("Id"); + + b.HasIndex("DistrictId"); + + b.ToTable("SubDistricts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.Inbox", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("DeleteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsOpen") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āļīāļ”āļ­āđˆāļēāļ™āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("longtext"); + + 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("OpenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ­āđˆāļēāļ™"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("Inboxes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.MessageQueueEntity", 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("IsSend") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡?"); + + b.Property("IsSendEmail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āđ„āļ›āļ—āļĩāđˆāļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("MessageContent") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("MessagePayLoad") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiverEmailAddress") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("āļ­āļĩāđ€āļĄāļĨāđŒāļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("SenderSystem") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāđˆāļ‡āļˆāļēāļāļĢāļ°āļšāļšāļ‡āļēāļ™"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("MessageQueues"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Notifications.Notification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("DeleteDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsOpen") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āļīāļ”āļ­āđˆāļēāļ™āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("longtext"); + + 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("OpenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ­āđˆāļēāļ™"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™"); + + b.HasKey("Id"); + + b.ToTable("Notifications"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Agency") + .HasColumnType("longtext"); + + b.Property("ConditionNote") + .HasColumnType("longtext"); + + 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("Department") + .HasColumnType("longtext"); + + b.Property("Government") + .HasColumnType("longtext"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsCondition") + .HasColumnType("tinyint(1)"); + + b.Property("IsDirector") + .HasColumnType("tinyint(1)"); + + b.Property("IsPublic") + .HasColumnType("tinyint(1)"); + + 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("OrganizationAgencyId") + .HasColumnType("char(36)"); + + b.Property("OrganizationFaxId") + .HasColumnType("char(36)"); + + b.Property("OrganizationGovernmentAgencyId") + .HasColumnType("char(36)"); + + b.Property("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationLevelId") + .HasColumnType("char(36)"); + + b.Property("OrganizationOrder") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelExternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelInternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTypeId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserNote") + .HasColumnType("longtext"); + + b.Property("Pile") + .HasColumnType("longtext"); + + b.Property("PosNo") + .HasColumnType("longtext"); + + b.Property("PositionCondition") + .HasColumnType("longtext"); + + b.Property("PositionEmployeeLineId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeStatusId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Qualification") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationAgencyId"); + + b.HasIndex("OrganizationFaxId"); + + b.HasIndex("OrganizationGovernmentAgencyId"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("OrganizationLevelId"); + + b.HasIndex("OrganizationOrganizationId"); + + b.HasIndex("OrganizationShortNameId"); + + b.HasIndex("OrganizationTelExternalId"); + + b.HasIndex("OrganizationTelInternalId"); + + b.HasIndex("OrganizationTypeId"); + + b.HasIndex("PositionEmployeeLineId"); + + b.HasIndex("PositionEmployeePositionId"); + + b.HasIndex("PositionEmployeeStatusId"); + + b.HasIndex("ProfileId"); + + b.ToTable("OrganizationEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationEmployeeProfile", 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("OrgEmployeeId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("OrgEmployeeId"); + + b.HasIndex("ProfileId"); + + b.ToTable("OrganizationEmployeeProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeeLevel", 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("OrganizationEmployeeId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeeLevelId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationEmployeeId"); + + b.HasIndex("PositionEmployeeLevelId"); + + b.ToTable("OrganizationPositionEmployeeLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeePositionSide", 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("OrganizationEmployeeId") + .HasColumnType("char(36)"); + + b.Property("PositionEmployeePositionSideId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationEmployeeId"); + + b.HasIndex("PositionEmployeePositionSideId"); + + b.ToTable("OrganizationPositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.AvailablePositionLevelEntity", 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("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionMasterId"); + + b.ToTable("AvailablePositionLevels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Agency") + .HasColumnType("longtext") + .HasColumnOrder(14) + .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("Department") + .HasColumnType("longtext") + .HasColumnOrder(16) + .HasComment("āļāđˆāļēāļĒ/āļŠāđˆāļ§āļ™"); + + b.Property("Government") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("OrganizationAgencyId") + .HasColumnType("char(36)") + .HasColumnOrder(10) + .HasComment("OrganizationAgencyId"); + + b.Property("OrganizationFaxId") + .HasColumnType("char(36)"); + + b.Property("OrganizationGovernmentAgencyId") + .HasColumnType("char(36)") + .HasColumnOrder(11) + .HasComment("OrganizationGovernmentAgencyId"); + + b.Property("OrganizationLevelId") + .HasColumnType("char(36)"); + + b.Property("OrganizationOrder") + .HasColumnType("int") + .HasColumnOrder(12) + .HasComment("OrganizationOrder"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.Property("OrganizationStatusId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelExternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTelInternalId") + .HasColumnType("char(36)"); + + b.Property("OrganizationTypeId") + .HasColumnType("char(36)"); + + b.Property("OrganizationUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("OrganizationUserNote"); + + b.Property("ParentId") + .HasColumnType("char(36)"); + + b.Property("Pile") + .HasColumnType("longtext") + .HasColumnOrder(17) + .HasComment("āļāļ­āļ‡"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationFaxId"); + + b.HasIndex("OrganizationLevelId"); + + b.HasIndex("OrganizationOrganizationId"); + + b.HasIndex("OrganizationShortNameId"); + + b.HasIndex("OrganizationStatusId"); + + b.HasIndex("OrganizationTelExternalId"); + + b.HasIndex("OrganizationTelInternalId"); + + b.HasIndex("OrganizationTypeId"); + + b.HasIndex("ParentId"); + + b.ToTable("Organizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(3) + .HasComment("Is Director"); + + 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("OrganizationId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberId") + .HasColumnType("char(36)"); + + b.Property("PositionUserNote") + .HasColumnType("longtext") + .HasColumnOrder(4) + .HasComment("positionUserNote"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationId"); + + b.HasIndex("PositionMasterId"); + + b.HasIndex("PositionNumberId"); + + b.ToTable("OrganizationPositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPublishHistoryEntity", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(1) + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāđāļāđ‰āđ„āļ‚"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ObjectValue") + .IsRequired() + .HasColumnType("longtext") + .HasColumnOrder(2) + .HasComment("āđ€āļāđ‡āļš Object āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ­āļąāļžāđ€āļ”āļ•āđƒāļ™āļĢāļ°āļšāļš"); + + b.HasKey("Id"); + + b.ToTable("OrganizationPublishHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(14) + .HasComment("IsDirector"); + + 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("PositionCondition") + .HasColumnType("longtext") + .HasColumnOrder(11) + .HasComment("PositionCondition"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)"); + + b.Property("PositionExecutiveSideObject") + .HasColumnType("longtext"); + + b.Property("PositionId") + .HasColumnType("char(36)") + .HasColumnOrder(2) + .HasComment("PositionId"); + + b.Property("PositionLineId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("PositionMasterUserNote"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideObject") + .HasColumnType("longtext"); + + b.Property("PositionStatusId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("Qualification") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļ„āļļāļ“āļ§āļļāļ’āļī"); + + b.HasKey("Id"); + + b.HasIndex("PositionExecutiveId"); + + b.HasIndex("PositionExecutiveSideId"); + + b.HasIndex("PositionLineId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionPathSideId"); + + b.HasIndex("PositionStatusId"); + + b.HasIndex("PositionTypeId"); + + b.ToTable("PositionMasters"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterHistoryEntity", 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("IsDirector") + .HasColumnType("tinyint(1)") + .HasColumnOrder(14) + .HasComment("IsDirector"); + + 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("Position") + .HasColumnType("longtext") + .HasColumnOrder(2) + .HasComment("Position"); + + b.Property("PositionCondition") + .HasColumnType("longtext") + .HasColumnOrder(11) + .HasComment("PositionCondition"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasColumnOrder(5) + .HasComment("PositionExecutive"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext") + .HasColumnOrder(6) + .HasComment("PositionExecutiveSide"); + + b.Property("PositionExecutiveSideObject") + .HasColumnType("longtext"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasColumnOrder(12) + .HasComment("PositionLevel"); + + b.Property("PositionLine") + .HasColumnType("longtext") + .HasColumnOrder(8) + .HasComment("PositionLine"); + + b.Property("PositionMasterEntityId") + .HasColumnType("char(36)"); + + b.Property("PositionMasterUserNote") + .HasColumnType("longtext") + .HasColumnOrder(13) + .HasComment("PositionMasterUserNote"); + + b.Property("PositionPath") + .HasColumnType("longtext") + .HasColumnOrder(3) + .HasComment("PositionPath"); + + b.Property("PositionPathSide") + .HasColumnType("longtext") + .HasColumnOrder(7) + .HasComment("PositionPathSide"); + + b.Property("PositionPathSideObject") + .HasColumnType("longtext"); + + b.Property("PositionStatus") + .HasColumnType("longtext") + .HasColumnOrder(10) + .HasComment("PositionStatus"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasColumnOrder(4) + .HasComment("PositionType"); + + b.Property("Qualification") + .HasColumnType("longtext") + .HasColumnOrder(15) + .HasComment("āļ„āļļāļ“āļ§āļļāļ’āļī"); + + b.HasKey("Id"); + + b.HasIndex("PositionMasterEntityId"); + + b.ToTable("PositionMasterHistoryEntity"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", 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") + .HasMaxLength(300) + .HasColumnType("varchar(300)") + .HasColumnOrder(2) + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationShortNameId"); + + b.ToTable("PositionNumbers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.ProfilePosition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)"); + + b.Property("IsPublished") + .HasColumnType("tinyint(1)"); + + 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("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("OrganizationPositionId"); + + b.HasIndex("ProfileId"); + + b.ToTable("ProfilePositions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2", 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("GovernmentCode") + .HasColumnType("longtext"); + + b.Property("GovernmentCodeOld") + .HasColumnType("longtext"); + + 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("OrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("OrganizationOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("OrganizationOrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("OrganizationShortName") + .HasColumnType("longtext"); + + b.Property("OrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OrganizationShortNameOld") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutive") + .HasColumnType("longtext"); + + b.Property("PositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutiveSide") + .HasColumnType("longtext"); + + b.Property("PositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveSideOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevel") + .HasColumnType("longtext"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionNum") + .HasColumnType("longtext"); + + b.Property("PositionNumId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionNumOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆāđ€āļ”āļīāļĄ"); + + b.Property("PositionPath") + .HasColumnType("longtext"); + + b.Property("PositionPathId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("PositionPathOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ"); + + b.Property("PositionPathSide") + .HasColumnType("longtext"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("PositionPathSideOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("PositionType") + .HasColumnType("longtext"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("ProfilePositionId") + .HasColumnType("char(36)") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļ–āļ·āļ­āļ„āļĢāļ­āļ‡"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡"); + + b.HasKey("Id"); + + b.ToTable("Report2s"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2DetailHistory", 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("Detail") + .HasColumnType("longtext"); + + 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.ToTable("Report2DetailHistories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2History", 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("Education") + .HasColumnType("longtext") + .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("NewGovernmentCode") + .HasColumnType("longtext"); + + b.Property("NewOrganizationOrganization") + .HasColumnType("longtext"); + + b.Property("NewOrganizationOrganizationId") + .HasColumnType("char(36)") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewOrganizationShortName") + .HasColumnType("longtext"); + + b.Property("NewOrganizationShortNameId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionExecutive") + .HasColumnType("longtext"); + + b.Property("NewPositionExecutiveId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionExecutiveSide") + .HasColumnType("longtext"); + + b.Property("NewPositionExecutiveSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionLevel") + .HasColumnType("longtext"); + + b.Property("NewPositionLevelId") + .HasColumnType("char(36)") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionNum") + .HasColumnType("longtext"); + + b.Property("NewPositionNumId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionPath") + .HasColumnType("longtext"); + + b.Property("NewPositionPathId") + .HasColumnType("char(36)") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionPathSide") + .HasColumnType("longtext"); + + b.Property("NewPositionPathSideId") + .HasColumnType("char(36)") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("NewPositionType") + .HasColumnType("longtext"); + + b.Property("NewPositionTypeId") + .HasColumnType("char(36)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆ"); + + b.Property("OldGovernmentCode") + .HasColumnType("longtext"); + + b.Property("OldOrganizationOrganization") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldOrganizationShortName") + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļŠāđˆāļ§āļ™āļĢāļēāļŠāļāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionExecutiveSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļšāļĢāļīāļŦāļēāļĢ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionNum") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionPath") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionPathSide") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OldPositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ āļāļģāļŦāļ™āļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("ProfilePositionId") + .HasColumnType("char(36)") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļ—āļĩāđˆāļ–āļ·āļ­āļ„āļĢāļ­āļ‡"); + + b.Property("Report2DetailHistoryId") + .HasColumnType("char(36)"); + + b.Property("Salary") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryMonth") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("SalaryPosition") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("Report2DetailHistoryId"); + + b.ToTable("Report2Histories"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", 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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļīāđ‰āļ™āļŠāļļāļ”āļšāļąāļāļŠāļĩ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļ­āļšāļāļēāļĢāļŠāļ­āļš"); + + b.Property("Number") + .HasMaxLength(10) + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļœāļđāđ‰āļŠāļ­āļšāđ„āļ”āđ‰"); + + b.Property("PlacementTypeId") + .HasColumnType("char(36)"); + + b.Property("RefId") + .HasColumnType("char(36)") + .HasComment("Id āļāļēāļĢāļŠāļ­āļš"); + + b.Property("Round") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļšāļąāļāļŠāļĩāļšāļąāļāļŠāļĩ"); + + b.Property("Year") + .HasMaxLength(5) + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("PlacementTypeId"); + + b.ToTable("Placements"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”/āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āđ€āļ”āļīāļĄ"); + + b.Property("PositionDate") + .HasColumnType("datetime(6)") + .HasComment("āļ”āļģāļĢāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļĢāļ°āļ”āļąāļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ old"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("type") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("typeCommand") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.ToTable("PlacementAppointments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementAppointmentId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementAppointmentId"); + + b.ToTable("PlacementAppointmentDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentEmployee", 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("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id DNA āđƒāļŠāđ‰āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ—āļģāļŠāļģāđ€āļ™āļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđƒāļŦāļĄāđˆāļ—āļĩāđˆāļ—āļģāļŠāļģāđ€āļ™āļēāļāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ€āļāđˆāļēāļˆāļ°āļ•āđ‰āļ­āļ‡āļĄāļĩ DNA āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ track āļ›āļĢāļ°āļ§āļąāļ•āļīāļāļēāļĢāđāļāđ‰āđ„āļ‚āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āđ„āļ”āđ‰"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.HasKey("Id"); + + b.ToTable("PlacementAppointmentEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementCertificate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CertificateNo") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("CertificateType") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .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("ExpireDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĄāļ”āļ­āļēāļĒāļļ"); + + b.Property("IssueDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļ­āļ™āļļāļāļēāļ•"); + + b.Property("Issuer") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .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("PlacementProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("PlacementProfileId"); + + b.ToTable("PlacementCertificates"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementEducation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Country") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .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("Degree") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ§āļļāļ’āļīāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("Duration") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļē"); + + b.Property("DurationYear") + .HasColumnType("int") + .HasComment("āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļŦāļĨāļąāļāļŠāļđāļ•āļĢ"); + + b.Property("EducationLevelId") + .HasColumnType("char(36)") + .HasComment("Idāļ§āļļāļ’āļīāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("EducationLevelName") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļīāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡"); + + b.Property("Field") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŠāļēāļ‚āļēāļ§āļīāļŠāļē/āļ—āļēāļ‡"); + + b.Property("FinishDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļŠāļģāđ€āļĢāđ‡āļˆāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("FundName") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ—āļļāļ™"); + + b.Property("Gpa") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļāļĢāļ”āđ€āļ‰āļĨāļĩāđˆāļĒ"); + + b.Property("Institute") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļŠāļ–āļēāļ™āļĻāļķāļāļĐāļē"); + + b.Property("IsDate") + .HasColumnType("tinyint(1)") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļŠāđˆāļ§āļ‡āđ€āļ§āļĨāļēāļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsEducation") + .HasColumnType("tinyint(1)") + .HasComment("āđ€āļ›āđ‡āļ™āļ§āļļāļ’āļīāļĻāļķāļāļĐāļēāđƒāļ™āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Other") + .HasMaxLength(1000) + .HasColumnType("varchar(1000)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­"); + + b.Property("PlacementProfileId") + .HasColumnType("char(36)"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆ"); + + b.HasKey("Id"); + + b.HasIndex("PlacementProfileId"); + + b.HasIndex("PositionPathId"); + + b.ToTable("PlacementEducations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementIsProperty", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("PlacementIsProperties"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementOfficer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("DateEnd") + .HasColumnType("datetime(6)") + .HasComment("āļ–āļķāļ‡āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateStart") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļĢāļēāļŠāļāļēāļĢāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("commandNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementOfficers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("Id āļāļĨāļļāđˆāļĄāđ€āļĨāļ·āļ­āļ”"); + + b.Property("CitizenDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢ"); + + b.Property("CitizenDistrictId") + .HasColumnType("longtext") + .HasComment("Id āđ€āļ‚āļ•āļ—āļĩāđˆāļ­āļ­āļāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CitizenId") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ€āļĨāļ‚āļ›āļĢāļ°āļˆāļģāļ•āļąāļ§āļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("CitizenProvinceId") + .HasColumnType("longtext") + .HasComment("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("CurrentAddress") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ­āļģāđ€āļ āļ­āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentProvinceId") + .HasColumnType("longtext") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentSubDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ•āļģāļšāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("CurrentZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™"); + + b.Property("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("Draft") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļģāđāļŦāļ™āđˆāļ‡ Draft"); + + b.Property("Email") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļĩāđ€āļĄāļĨ"); + + b.Property("ExamNumber") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļŠāļ­āļšāđ„āļ”āđ‰"); + + b.Property("ExamRound") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļŠāļĄāļąāļ„āļĢāļŠāļ­āļš"); + + b.Property("FatherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļšāļīāļ”āļē"); + + b.Property("FatherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļšāļīāļ”āļē"); + + b.Property("FatherNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļšāļīāļ”āļē"); + + b.Property("FatherOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļšāļīāļ”āļē"); + + b.Property("FatherPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļšāļīāļ”āļē"); + + b.Property("Firstname") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("Id āđ€āļžāļĻ"); + + b.Property("IsOfficer") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŊ āļāļ—āļĄ."); + + b.Property("IsOld") + .HasColumnType("tinyint(1)") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļāđˆāļē"); + + b.Property("IsProperty") + .HasColumnType("longtext") + .HasComment("āļāļēāļĢāļ„āļąāļ”āļāļĢāļ­āļ‡āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļī"); + + b.Property("IsRelief") + .HasColumnType("tinyint(1)") + .HasComment("āļœāđˆāļ­āļ™āļœāļąāļ™"); + + b.Property("Knowledge") + .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("Lastname") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("Marry") + .HasColumnType("tinyint(1)") + .HasComment("āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MarryPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļ„āļđāđˆāļŠāļĄāļĢāļŠ"); + + b.Property("MobilePhone") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("MotherFirstName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­āļˆāļĢāļīāļ‡āļĄāļēāļĢāļ”āļē"); + + b.Property("MotherLastName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherNationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļīāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherOccupation") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļ­āļēāļŠāļĩāļžāļĄāļēāļĢāļ”āļē"); + + b.Property("MotherPrefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŠāļ·āđˆāļ­āļĄāļēāļĢāļ”āļē"); + + b.Property("MouthSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ„āđˆāļēāļ•āļ­āļšāđāļ—āļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™"); + + b.Property("Nationality") + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OccupationGroup") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļĨāļļāđˆāļĄ/āļāđˆāļēāļĒ"); + + b.Property("OccupationOrg") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("OccupationPile") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļāļ­āļ‡"); + + b.Property("OccupationPosition") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("OccupationPositionType") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ›āļĢāļ°āđ€āļ āļ—āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OccupationSalary") + .HasColumnType("double") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("OccupationTelephone") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒ āļšāļĢāļīāļĐāļąāļ—"); + + b.Property("Pass") + .HasColumnType("longtext") + .HasComment("āļœāļĨāļŠāļĄāļąāļ„āļĢāļŠāļ­āļš"); + + b.Property("PlacementId") + .HasColumnType("char(36)"); + + b.Property("PlacementStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļšāļĢāļĢāļˆāļļ"); + + b.Property("PointA") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ"); + + b.Property("PointB") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ‚"); + + b.Property("PointC") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āļ āļēāļ„ āļ„"); + + b.Property("PointTotalA") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ"); + + b.Property("PointTotalB") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ‚"); + + b.Property("PointTotalC") + .HasColumnType("double") + .HasComment("āļ„āļ°āđāļ™āļ™āđ€āļ•āđ‡āļĄāļ āļēāļ„ āļ„"); + + b.Property("PosNumber") + .HasColumnType("int") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PosPath") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionCandidate") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļŠāļ­āļš"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevel") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionSalaryAmount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āļ›āļĢāļ°āļˆāļģāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("Prefix") + .HasColumnType("longtext") + .HasComment("Id āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("ProfileImgId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("RegistAddress") + .HasColumnType("longtext") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ­āļģāđ€āļ āļ­āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistProvinceId") + .HasColumnType("longtext") + .HasComment("Id āļˆāļąāļ‡āļŦāļ§āļąāļ”āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistSame") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļŦāļĄāļ·āļ­āļ™āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistSubDistrictId") + .HasColumnType("longtext") + .HasComment("Id āļ•āļģāļšāļĨāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RegistZipCode") + .HasMaxLength(10) + .HasColumnType("varchar(10)") + .HasComment("āļĢāļŦāļąāļŠāđ„āļ›āļĢāļĐāļ“āļĩāļĒāđŒāļ—āļĩāđˆāļ­āļĒāļđāđˆāļ•āļēāļĄāļ—āļ°āđ€āļšāļĩāļĒāļ™āļšāđ‰āļēāļ™"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŠāļĨāļ°āļŠāļīāļ—āļ˜āļīāđŒ"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("Id āļŠāļ–āļēāļ™āļ āļēāļž"); + + b.Property("ReliefDocId") + .HasColumnType("char(36)"); + + b.Property("ReliefReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļœāđˆāļ­āļ™āļœāļąāļ™"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RemarkVertical") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ•āļąāđ‰āļ‡"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("SalaryClass") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡ (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”)"); + + b.Property("SalaryRef") + .HasColumnType("longtext") + .HasComment("āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡"); + + b.Property("Telephone") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒ"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4IdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("commandId") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeIdOld") + .HasColumnType("longtext") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeOld") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("orgRevisionIdOld") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("orgTreeShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("organizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelIdOld") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeIdOld") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionFieldOld") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionIdOld") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("positionName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("posmasterIdOld") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profileId"); + + b.Property("refCommandCode") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandDate") + .HasMaxLength(200) + .HasColumnType("datetime(6)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandName") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("refCommandNo") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootIdOld") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("templateDoc") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒāļĄāļ·āļ­āļ–āļ·āļ­"); + + b.Property("typeCommand") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.HasKey("Id"); + + b.HasIndex("PlacementId"); + + b.HasIndex("ProfileImgId"); + + b.HasIndex("ReliefDocId"); + + b.ToTable("PlacementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementProfileId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementProfileId"); + + b.ToTable("PlacementProfileDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AvatarId") + .HasColumnType("char(36)"); + + b.Property("BloodGroup") + .HasColumnType("longtext") + .HasComment("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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("Gender") + .HasColumnType("longtext") + .HasComment("Id āđ€āļžāļĻ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāđ‚āļ­āļ™āļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Relationship") + .HasColumnType("longtext") + .HasComment("Id āļŠāļ–āļēāļ™āļ°āļ āļēāļž"); + + b.Property("Religion") + .HasColumnType("longtext") + .HasComment("Id āļĻāļēāļŠāļ™āļē"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rank") + .HasColumnType("longtext") + .HasComment("āļĒāļĻ"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("AvatarId"); + + b.ToTable("PlacementReceives"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceiveDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementReceiveId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementReceiveId"); + + b.ToTable("PlacementReceiveDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("BloodGroupId") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .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("DateOfBirth") + .HasMaxLength(40) + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļāļīāļ”"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("Firstname") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("GenderId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Lastname") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("Nationality") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļąāļāļŠāļēāļ•āļī"); + + b.Property("OrganizationPositionId") + .HasColumnType("char(36)"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelId") + .HasColumnType("char(36)"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionLineId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberId") + .HasColumnType("char(36)"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionPathId") + .HasColumnType("char(36)"); + + b.Property("PositionPathSideId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeId") + .HasColumnType("char(36)"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("PrefixId") + .HasColumnType("char(36)"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Race") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āđ€āļŠāļ·āđ‰āļ­āļŠāļēāļ•āļī"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("RelationshipId") + .HasColumnType("char(36)"); + + b.Property("ReligionId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("TelephoneNumber") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āđ€āļšāļ­āļĢāđŒāđ‚āļ—āļĢ"); + + b.HasKey("Id"); + + b.HasIndex("BloodGroupId"); + + b.HasIndex("GenderId"); + + b.HasIndex("OrganizationPositionId"); + + b.HasIndex("PositionLevelId"); + + b.HasIndex("PositionLineId"); + + b.HasIndex("PositionNumberId"); + + b.HasIndex("PositionPathId"); + + b.HasIndex("PositionPathSideId"); + + b.HasIndex("PositionTypeId"); + + b.HasIndex("PrefixId"); + + b.HasIndex("ProfileId"); + + b.HasIndex("RelationshipId"); + + b.HasIndex("ReligionId"); + + b.ToTable("PlacementRelocations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocationDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementRelocationId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementRelocationId"); + + b.ToTable("PlacementRelocationDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRepatriation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("DateRepatriation") + .HasColumnType("datetime(6)") + .HasComment("āļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("refId") + .HasColumnType("char(36)") + .HasComment("Id āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŠāđˆāļ§āļĒāļĢāļēāļŠ"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementRepatriations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransfer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļŠāđˆāļ‡āļ•āļąāļ§āļāļĨāļąāļšāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("PlacementTransfers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransferDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PlacementTransferId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("PlacementTransferId"); + + b.ToTable("PlacementTransferDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļšāļĢāļĢāļˆāļļ"); + + b.HasKey("Id"); + + b.ToTable("PlacementTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Probation.CronjobNotiProbation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Body") + .IsRequired() + .HasColumnType("text") + .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("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNoti") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Payload") + .IsRequired() + .HasColumnType("text") + .HasComment("āļŠāļīāļ‡āļ—āļĩāđˆāđāļ™āļšāļĄāļēāļ”āđ‰āļ§āļĒ"); + + b.Property("ReceiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļš"); + + b.Property("ReceiverUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļœāļđāđ‰āļĢāļąāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("āļŦāļąāļ§āđ€āļĢāļ·āđˆāļ­āļ‡"); + + b.HasKey("Id"); + + b.ToTable("CronjobNotiProbations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", 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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāđ€āļŠāļĩāļĒāļŠāļĩāļ§āļīāļ•"); + + b.Property("DocumentForwardId") + .HasColumnType("char(36)"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ­āļ­āļāđƒāļšāļĄāļĢāļ“āļšāļąāļ•āļĢ"); + + b.Property("Number") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāđƒāļšāļĄāļĢāļ“āļšāļąāļ•āļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāđ€āļŠāļĩāļĒāļŠāļĩāļ§āļīāļ•"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("profileType") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļž (OFFICER->āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ EMPLOYEE->āļĨāļđāļāļˆāđ‰āļēāļ‡āļ›āļĢāļ°āļˆāļģ)"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.HasKey("Id"); + + b.HasIndex("DocumentForwardId"); + + b.HasIndex("DocumentId"); + + b.ToTable("RetirementDeceaseds"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceasedNoti", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CitizenId") + .IsRequired() + .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("DocumentId") + .HasColumnType("char(36)"); + + b.Property("FirstName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("IsSendInbox") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļāļĨāđˆāļ­āļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendMail") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāđŒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?"); + + b.Property("IsSendNotification") + .HasColumnType("tinyint(1)") + .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("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļœāļđāđ‰āļĢāļąāļšāļŠāļģāđ€āļ™āļēāļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Prefix") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ™āļēāļĄ"); + + b.Property("RetirementDeceasedId") + .HasColumnType("char(36)"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementDeceasedId"); + + b.ToTable("RetirementDeceasedNotis"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDischarge", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāļ›āļĨāļ”āļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("RetirementDischarges"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementEmployeeQuestion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Adjust") + .HasColumnType("longtext") + .HasComment("āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AdjustOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AppointDate") + .HasColumnType("datetime(6)") + .HasComment("āļāđāļēāļŦāļ™āļ”āļ§āļąāļ™āļ™āļąāļ”āļŦāļĄāļēāļĒāđ€āļžāļ·āđˆāļ­āļ—āđāļēāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļāļēāļĢāļĨāļēāļ­āļ­āļ"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("ExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ExitFactorOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("FutureWork") + .HasColumnType("tinyint(1)") + .HasComment("āļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("FutureWorkReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Havejob") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļĄāļĩāļ‡āļēāļ™āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆāđāļĨāļ°āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđƒāļŦāļĄāđˆāđƒāļŦāđ‰āļāļąāļšāļ—āđˆāļēāļ™ āļ‹āļķāđˆāļ‡āļ—āđˆāļēāļ™āļĢāļđāđ‰āļŠāļķāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āđˆāļēāļžāļ­āđƒāļˆāļĄāļēāļāļāļ§āđˆāļēāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("HavejobReason") + .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("NotExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļˆāļ°āļŠāđˆāļ§āļĒāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđƒāļˆ āđ„āļĄāđˆāļ­āļĒāļēāļāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RealReason") + .HasColumnType("longtext") + .HasComment("āđ‚āļ›āļĢāļ”āļĢāļ°āļšāļļāļŠāļēāđ€āļŦāļ•āļļāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡ āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWork") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWorkOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("Score1") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 1"); + + b.Property("Score10") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 10"); + + b.Property("Score2") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 2"); + + b.Property("Score3") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 3"); + + b.Property("Score4") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 4"); + + b.Property("Score5") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 5"); + + b.Property("Score6") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 6"); + + b.Property("Score7") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 7"); + + b.Property("Score8") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 8"); + + b.Property("Score9") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 9"); + + b.Property("ScoreTotal") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļĢāļ§āļĄ"); + + b.Property("SuggestFriends") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("SuggestFriendsReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Suggestion") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļĨāļ°āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ°āļ­āļ·āđˆāļ™ āđ† "); + + b.Property("TimeThink") + .HasColumnType("int") + .HasComment("āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĨāļēāļ­āļ­āļāđƒāļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļĩāđ‰ āļ—āđˆāļēāļ™āđ„āļ”āđ‰āļ„āļīāļ”āļ—āļšāļ—āļ§āļ™āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡āļˆāļąāļ‡āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļ™āļēāļ™āđ€āļ—āđˆāļēāđƒāļ”"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementEmployeeQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementExpulsion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāđ„āļĨāđˆāļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.HasKey("Id"); + + b.HasIndex("ProfileId"); + + b.ToTable("RetirementExpulsions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Amount") + .HasColumnType("double") + .HasComment("āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("CommandTypeId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("EducationOld") + .HasColumnType("longtext") + .HasComment("āļ§āļļāļ’āļī/āļŠāļēāļ‚āļēāđ€āļ”āļīāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢāđ€āļĄāļ·āđˆāļ­"); + + b.Property("MilitaryDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļžāđ‰āļ™āļˆāļēāļāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("PositionDate") + .HasColumnType("datetime(6)") + .HasComment("āļ”āļģāļĢāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļĢāļ°āļ”āļąāļšāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ€āļĄāļ·āđˆāļ­"); + + b.Property("PositionExecutive") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĢāļąāļšāļĒāđ‰āļēāļĒāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RecruitDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļšāļĢāļĢāļˆāļļ"); + + b.Property("ReportingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĢāļēāļĒāļ‡āļēāļ™āļ•āļąāļ§"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1Dna old"); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2Dna old"); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3Dna old"); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4Dna old"); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("node") + .HasColumnType("int") + .HasComment("āļĢāļ°āļ”āļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("nodeId") + .HasColumnType("char(36)") + .HasComment("id āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡"); + + b.Property("orgRevisionId") + .HasColumnType("longtext") + .HasComment("id revision"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("positionField") + .HasColumnType("longtext") + .HasComment("āļŠāļēāļĒāļ‡āļēāļ™"); + + b.Property("positionId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("posmasterId") + .HasColumnType("longtext") + .HasComment("id āļ­āļąāļ•āļĢāļēāļāļģāļĨāļąāļ‡"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ rootDna old"); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("CommandTypeId"); + + b.ToTable("RetirementOthers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOtherDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementOtherId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementOtherId"); + + b.ToTable("RetirementOtherDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOut", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AmountOld") + .HasColumnType("double") + .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("Date") + .HasColumnType("datetime(6)") + .HasComment("āļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Organization") + .HasColumnType("longtext") + .HasComment("āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ—āļĩāđˆāđƒāļŦāđ‰āļ­āļ­āļāđ„āļ›"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ„āļģāļ‚āļ­"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("profileType") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ āļēāļž (OFFICER->āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ EMPLOYEE->āļĨāļđāļāļˆāđ‰āļēāļ‡āļ›āļĢāļ°āļˆāļģ)"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementOuts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļĄāļ•āļī āļ­āļāļ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("SignDate") + .HasColumnType("datetime(6)") + .HasComment("āļ›āļĢāļ°āļāļēāļĻ āļ“ āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("TypeReport") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.ToTable("RetirementPeriods"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriodHistory", 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("Detail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļĄāļ•āļī āļ­āļāļ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileFile") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("Round") + .HasColumnType("int") + .HasComment("āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ"); + + b.Property("SignDate") + .HasColumnType("datetime(6)") + .HasComment("āļ›āļĢāļ°āļāļēāļĻ āļ“ āļ§āļąāļ™āļ—āļĩāđˆ"); + + b.Property("Total") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļ™"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("TypeReport") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļ„āļģāļŠāļąāđˆāļ‡"); + + b.Property("Year") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementPeriodHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementProfile", 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("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Remove") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĨāļšāļ­āļ­āļāļˆāļēāļāđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posExecutiveName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ "); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Adjust") + .HasColumnType("longtext") + .HasComment("āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AdjustOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āđˆāļēāļ™āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļ„āļ§āļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡"); + + b.Property("AppointDate") + .HasColumnType("datetime(6)") + .HasComment("āļāđāļēāļŦāļ™āļ”āļ§āļąāļ™āļ™āļąāļ”āļŦāļĄāļēāļĒāđ€āļžāļ·āđˆāļ­āļ—āđāļēāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļāļēāļĢāļĨāļēāļ­āļ­āļ"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("ExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ExitFactorOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("FutureWork") + .HasColumnType("tinyint(1)") + .HasComment("āļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("FutureWorkReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļŦāļēāļāļ—āđˆāļēāļ™āļĄāļĩāđ‚āļ­āļāļēāļŠāđƒāļ™āļ­āļ™āļēāļ„āļ• āļ—āđˆāļēāļ™āļ­āļĒāļēāļāļāļĨāļąāļšāļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Havejob") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļĄāļĩāļ‡āļēāļ™āđƒāļŦāļĄāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆāđāļĨāļ°āļ­āļ°āđ„āļĢāļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āđƒāļŦāļĄāđˆāđƒāļŦāđ‰āļāļąāļšāļ—āđˆāļēāļ™ āļ‹āļķāđˆāļ‡āļ—āđˆāļēāļ™āļĢāļđāđ‰āļŠāļķāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āđˆāļēāļžāļ­āđƒāļˆāļĄāļēāļāļāļ§āđˆāļēāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("HavejobReason") + .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("NotExitFactor") + .HasColumnType("longtext") + .HasComment("āļ›āļąāļˆāļˆāļąāļĒāđƒāļ”āļ—āļĩāđˆāļˆāļ°āļŠāđˆāļ§āļĒāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđƒāļˆ āđ„āļĄāđˆāļ­āļĒāļēāļāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RealReason") + .HasColumnType("longtext") + .HasComment("āđ‚āļ›āļĢāļ”āļĢāļ°āļšāļļāļŠāļēāđ€āļŦāļ•āļļāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡ āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ—āđˆāļēāļ™āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāļĢāļēāļŠāļāļēāļĢāļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWork") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("ReasonWorkOther") + .HasColumnType("longtext") + .HasComment("āļ­āļ·āđˆāļ™āđ† āđ€āļŦāļ•āļļāđƒāļ”āļ—āđˆāļēāļ™āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢ"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("Score1") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 1"); + + b.Property("Score10") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 10"); + + b.Property("Score2") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 2"); + + b.Property("Score3") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 3"); + + b.Property("Score4") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 4"); + + b.Property("Score5") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 5"); + + b.Property("Score6") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 6"); + + b.Property("Score7") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 7"); + + b.Property("Score8") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 8"); + + b.Property("Score9") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļ‚āđ‰āļ­ 9"); + + b.Property("ScoreTotal") + .HasColumnType("int") + .HasComment("āļ„āļ°āđāļ™āļ™āļĢāļ§āļĄ"); + + b.Property("SuggestFriends") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("SuggestFriendsReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āđˆāļēāļ™āļˆāļ°āđāļ™āļ°āļ™āļģāđ€āļžāļ·āđˆāļ­āļ™āđƒāļŦāđ‰āļĄāļēāļĢāđˆāļ§āļĄāļ‡āļēāļ™āļāļąāļšāļāļĢāļļāļ‡āđ€āļ—āļžāļĄāļŦāļēāļ™āļ„āļĢāļŦāļĢāļ·āļ­āđ„āļĄāđˆ"); + + b.Property("Suggestion") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļĨāļ°āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ°āļ­āļ·āđˆāļ™ āđ† "); + + b.Property("TimeThink") + .HasColumnType("int") + .HasComment("āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĨāļēāļ­āļ­āļāđƒāļ™āļ„āļĢāļąāđ‰āļ‡āļ™āļĩāđ‰ āļ—āđˆāļēāļ™āđ„āļ”āđ‰āļ„āļīāļ”āļ—āļšāļ—āļ§āļ™āļ­āļĒāđˆāļēāļ‡āļˆāļĢāļīāļ‡āļˆāļąāļ‡āđ€āļ›āđ‡āļ™āļĢāļ°āļĒāļ°āđ€āļ§āļĨāļēāļ™āļēāļ™āđ€āļ—āđˆāļēāđƒāļ”"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4DnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootDnaId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestionnaireQuestion", 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("Question10Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 10"); + + b.Property("Question10Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 10"); + + b.Property("Question10Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 10"); + + b.Property("Question1Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 1"); + + b.Property("Question1Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 1"); + + b.Property("Question1Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 1"); + + b.Property("Question2Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 2"); + + b.Property("Question2Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 2"); + + b.Property("Question2Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 2"); + + b.Property("Question3Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 3"); + + b.Property("Question3Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 3"); + + b.Property("Question3Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 3"); + + b.Property("Question4Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 4"); + + b.Property("Question4Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 4"); + + b.Property("Question4Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 4"); + + b.Property("Question5Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 5"); + + b.Property("Question5Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 5"); + + b.Property("Question5Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 5"); + + b.Property("Question6Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 6"); + + b.Property("Question6Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 6"); + + b.Property("Question6Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 6"); + + b.Property("Question7Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 7"); + + b.Property("Question7Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 7"); + + b.Property("Question7Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 7"); + + b.Property("Question8Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 8"); + + b.Property("Question8Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 8"); + + b.Property("Question8Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 8"); + + b.Property("Question9Answer") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ­āļāļ„āļ°āđāļ™āļ™ 9"); + + b.Property("Question9Desc") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ–āļēāļĄāļ‚āđ‰āļ­āļ—āļĩāđˆ 9"); + + b.Property("Question9Score") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ•āļ­āļšāļ‚āđ‰āļ­āļ—āļĩāđˆ 9"); + + b.HasKey("Id"); + + b.ToTable("RetirementQuestionnaireQuestions"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementRawProfile", 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("Order") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ—āļĩāđˆ"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨ"); + + b.Property("Remove") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĨāļšāļ­āļ­āļāļˆāļēāļāđ€āļāļĐāļĩāļĒāļ"); + + b.Property("RetirementPeriodId") + .HasColumnType("char(36)"); + + b.Property("child1") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child1ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 "); + + b.Property("child2") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child2ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 "); + + b.Property("child3") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child3ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 "); + + b.Property("child4") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4Id") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("child4ShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 "); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posExecutiveName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ "); + + b.Property("posLevelId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posLevelRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posMasterNo") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posNo") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("posTypeRank") + .HasColumnType("int") + .HasComment("āļĨāļģāļ”āļąāļšāļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ "); + + b.Property("position") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ™āļŠāļēāļĒāļ‡āļēāļ™ "); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("root") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.Property("rootShortName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root "); + + b.HasKey("Id"); + + b.HasIndex("RetirementPeriodId"); + + b.ToTable("RetirementRawProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResign", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsCancel") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļāđ€āļĨāļīāļ"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReasonResign") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementResigns"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionExecutiveName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionExecutiveOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢāđ€āļ”āļīāļĄ"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("positionArea") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē"); + + b.Property("positionAreaOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™/āļŠāļēāļ‚āļē (āđ€āļāđˆāļē)"); + + b.Property("positionExecutiveField") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("positionExecutiveFieldOld") + .HasColumnType("longtext") + .HasComment("āļ”āđ‰āļēāļ™āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ (āđ€āļāđˆāļē)"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignCancels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancelApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignCancelId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignCancelId"); + + b.ToTable("RetirementResignCancelApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDebtDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignDebtDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignId"); + + b.ToTable("RetirementResignDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsCancel") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļāđ€āļĨāļīāļ"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("ReasonResign") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.ToTable("RetirementResignEmployees"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionExecutiveName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ActiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("AmountOld") + .HasColumnType("double") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļ‡āļīāļ™āđ€āļ”āļ·āļ­āļ™"); + + b.Property("ApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("CancelReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļāđ€āļĨāļīāļ"); + + b.Property("CommanderApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CommanderRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Group") + .HasColumnType("longtext") + .HasComment("āļ„āļ™āļĒāļ·āđˆāļ™āļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļāļĨāļļāđˆāļĄ"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™"); + + b.Property("IsDiscipline") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļžāļĪāļ•āļīāļāļēāļĢāļ“āđŒāļ—āļēāļ‡āļ§āļīāļ™āļąāļĒ"); + + b.Property("IsNoBurden") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāļĄāļĩāļ āļēāļĢāļ°āļœāļđāļāļžāļąāļ™āļ„āđ‰āļģāļ›āļĢāļ°āļāļąāļ™āļ—āļļāļ™āļāļēāļĢāļĻāļķāļāļĐāļē"); + + b.Property("IsNoDebt") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āđ„āļĄāđˆāđ€āļ›āđ‡āļ™āļŦāļ™āļĩāđ‰āļŠāļŦāļāļĢāļ“āđŒ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Location") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļĨāļēāļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("OfficerApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OfficerRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļāļēāļĢāđ€āļˆāđ‰āļēāļŦāļ™āđ‰āļēāļ—āļĩāđˆ"); + + b.Property("OligarchApproveReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ­āļ™āļļāļĄāļąāļ•āļīāļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchReject") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OligarchRejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļĒāļąāļšāļĒāļąāđ‰āļ‡āļœāļđāđ‰āļ”āļđāđāļĨ"); + + b.Property("OrganizationOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āđ€āļ”āļīāļĄ"); + + b.Property("OrganizationPositionOld") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PositionLevelOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļĢāļ°āļ”āļąāļš"); + + b.Property("PositionNumberOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āđ€āļĨāļ‚āļ—āļĩāđˆ"); + + b.Property("PositionOld") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđ€āļ”āļīāļĄ"); + + b.Property("PositionTypeOld") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āđ€āļ”āļīāļĄ āļ•āļģāđāļŦāļ™āđˆāļ‡āļ›āļĢāļ°āđ€āļ āļ—"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("RejectReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ(āļ­āļ·āđˆāļ™āđ†)"); + + b.Property("RemarkHorizontal") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđāļ™āļ§āļ™āļ­āļ™"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.Property("SendDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļ‚āļ­āļ­āļ­āļāļĢāļēāļŠāļāļēāļĢ"); + + b.Property("Status") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļĨāļēāļ­āļ­āļ"); + + b.Property("child1DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child1ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child1 old"); + + b.Property("child2DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child2ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child2 old"); + + b.Property("child3DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child3ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child3 old"); + + b.Property("child4DnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4Old") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4OldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("child4ShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ child4 old"); + + b.Property("citizenId") + .HasColumnType("longtext") + .HasComment("āđ€āļĨāļ‚āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™"); + + b.Property("firstName") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­"); + + b.Property("lastName") + .HasColumnType("longtext") + .HasComment("āļ™āļēāļĄāļŠāļāļļāļĨ"); + + b.Property("posLevelNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posLevelOldId") + .HasColumnType("longtext") + .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posMasterNoOld") + .HasColumnType("int") + .HasComment("āđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("posTypeOldId") + .HasColumnType("longtext") + .HasComment("id āļ›āļĢāļ°āđ€āļ āļ—āļ•āļģāđāļŦāļ™āđˆāļ‡ old"); + + b.Property("prefix") + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē"); + + b.Property("profileId") + .HasColumnType("longtext") + .HasComment("profile Id"); + + b.Property("rootDnaOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootOldId") + .HasColumnType("longtext") + .HasComment("id āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.Property("rootShortNameOld") + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļĒāđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™ root old"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeCancels"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancelApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("Org") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("RejectDate") + .HasColumnType("datetime(6)"); + + b.Property("RetirementResignEmployeeCancelId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RetirementResignEmployeeCancelId"); + + b.ToTable("RetirementResignEmployeeCancelApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDebtDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeDebtDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDoc", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("RetirementResignEmployeeId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("RetirementResignEmployeeId"); + + b.ToTable("RetirementResignEmployeeDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandStatus", "CommandStatus") + .WithMany() + .HasForeignKey("CommandStatusId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandType", "CommandType") + .WithMany() + .HasForeignKey("CommandTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.Placement", "Placement") + .WithMany() + .HasForeignKey("PlacementId"); + + b.Navigation("CommandStatus"); + + b.Navigation("CommandType"); + + b.Navigation("Placement"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDeployment", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Deployments") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Documents") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + + b.Navigation("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.CommandReceiver", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.Command", "Command") + .WithMany("Receivers") + .HasForeignKey("CommandId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Command"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitTypeLeave", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.LimitLeave", "LimitLeave") + .WithMany("LimitTypeLeaves") + .HasForeignKey("LimitLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany("LimitTypeLeaves") + .HasForeignKey("TypeLeaveId"); + + b.Navigation("LimitLeave"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Avatar") + .WithMany() + .HasForeignKey("AvatarId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Gender", "Gender") + .WithMany() + .HasForeignKey("GenderId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.LimitLeave", "LimitLeave") + .WithMany("Profiles") + .HasForeignKey("LimitLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PosNo") + .WithMany() + .HasForeignKey("PosNoId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeGroup", "PositionEmployeeGroup") + .WithMany() + .HasForeignKey("PositionEmployeeGroupId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", "PositionEmployeeLevel") + .WithMany() + .HasForeignKey("PositionEmployeeLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", "PositionEmployeeLine") + .WithMany() + .HasForeignKey("PositionEmployeeLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", "PositionEmployeePosition") + .WithMany() + .HasForeignKey("PositionEmployeePositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", "PositionEmployeePositionSide") + .WithMany() + .HasForeignKey("PositionEmployeePositionSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "Position") + .WithMany() + .HasForeignKey("PositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Prefix", "Prefix") + .WithMany() + .HasForeignKey("PrefixId"); + + b.Navigation("Avatar"); + + b.Navigation("Gender"); + + b.Navigation("LimitLeave"); + + b.Navigation("PosNo"); + + b.Navigation("Position"); + + b.Navigation("PositionEmployeeGroup"); + + b.Navigation("PositionEmployeeLevel"); + + b.Navigation("PositionEmployeeLine"); + + b.Navigation("PositionEmployeePosition"); + + b.Navigation("PositionEmployeePositionSide"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionType"); + + b.Navigation("Prefix"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Abilitys") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbilityHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileAbility", "ProfileAbility") + .WithMany("ProfileAbilityHistorys") + .HasForeignKey("ProfileAbilityId"); + + b.Navigation("ProfileAbility"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("AddressHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Assessments") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessmentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileAssessment", "ProfileAssessment") + .WithMany("ProfileAssessmentHistorys") + .HasForeignKey("ProfileAssessmentId"); + + b.Navigation("ProfileAssessment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAvatarHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "AvatarFile") + .WithMany() + .HasForeignKey("AvatarFileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("AvatarHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AvatarFile"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Certificates") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificateHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileCertificate", "ProfileCertificate") + .WithMany("ProfileCertificateHistorys") + .HasForeignKey("ProfileCertificateId"); + + b.Navigation("ProfileCertificate"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("ChangeNames") + .HasForeignKey("ProfileId"); + + b.Navigation("Document"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeNameHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileChangeName", "ProfileChangeName") + .WithMany("ProfileChangeNameHistorys") + .HasForeignKey("ProfileChangeNameId"); + + b.Navigation("Document"); + + b.Navigation("ProfileChangeName"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Childrens") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildrenHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileChildren", null) + .WithMany("ProfileChildrenHistorys") + .HasForeignKey("ProfileChildrenId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", null) + .WithMany("Childrens") + .HasForeignKey("ProfileFamilyHistoryId"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCoupleHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("CoupleHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCurrentAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("CurrentAddressHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Disciplines") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDisciplineHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileDiscipline", "ProfileDiscipline") + .WithMany("ProfileDisciplineHistorys") + .HasForeignKey("ProfileDisciplineId"); + + b.Navigation("ProfileDiscipline"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Dutys") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDutyHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileDuty", "ProfileDuty") + .WithMany("ProfileDutyHistorys") + .HasForeignKey("ProfileDutyId"); + + b.Navigation("ProfileDuty"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Educations") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducationHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileEducation", "ProfileEducation") + .WithMany("ProfileEducationHistorys") + .HasForeignKey("ProfileEducationId"); + + b.Navigation("ProfileEducation"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmployment", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Employments") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEmploymentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileEmployment", "ProfileEmployment") + .WithMany() + .HasForeignKey("ProfileEmploymentId"); + + b.Navigation("ProfileEmployment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("FamilyHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFatherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("FatherHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileGovernmentHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("GovernmentHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("ProfileHistory") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Honors") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonorHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileHonor", "ProfileHonor") + .WithMany("ProfileHonorHistorys") + .HasForeignKey("ProfileHonorId"); + + b.Navigation("ProfileHonor"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "Insignia") + .WithMany() + .HasForeignKey("InsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", null) + .WithMany("Insignias") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Insignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsigniaHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileInsignia", "ProfileInsignia") + .WithMany("ProfileInsigniaHistorys") + .HasForeignKey("ProfileInsigniaId"); + + b.Navigation("ProfileInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", null) + .WithMany("Leaves") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany() + .HasForeignKey("TypeLeaveId"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileLeave", "ProfileLeave") + .WithMany("ProfileLeaveHistorys") + .HasForeignKey("ProfileLeaveId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.TypeLeave", "TypeLeave") + .WithMany() + .HasForeignKey("TypeLeaveId"); + + b.Navigation("ProfileLeave"); + + b.Navigation("TypeLeave"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeaveSummary", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("LeaveSummary") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileMotherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("MotherHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Nopaids") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaidHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileNopaid", "ProfileNopaid") + .WithMany("ProfileNopaidHistorys") + .HasForeignKey("ProfileNopaidId"); + + b.Navigation("ProfileNopaid"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Others") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOtherHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileOther", "ProfileOther") + .WithMany("ProfileOtherHistorys") + .HasForeignKey("ProfileOtherId"); + + b.Navigation("ProfileOther"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfilePaper", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Papers") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileRegistrationAddressHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("RegistrationAddressHistory") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Salaries") + .HasForeignKey("ProfileId"); + + b.Navigation("PositionLevel"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileSalary", "ProfileSalary") + .WithMany("ProfileSalaryHistorys") + .HasForeignKey("ProfileSalaryId"); + + b.Navigation("ProfileSalary"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalaryPosition", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Position", "Position") + .WithMany() + .HasForeignKey("PositionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Position"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany("Trainings") + .HasForeignKey("ProfileId"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTrainingHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.ProfileTraining", "ProfileTraining") + .WithMany("ProfileTrainingHistorys") + .HasForeignKey("ProfileTrainingId"); + + b.Navigation("ProfileTraining"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaEmployee", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", "InsigniaPeriod") + .WithMany("InsigniaEmployees") + .HasForeignKey("InsigniaPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "Insignia") + .WithMany() + .HasForeignKey("InsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Insignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaManage", "InsigniaManage") + .WithMany("InsigniaManageOrganiations") + .HasForeignKey("InsigniaManageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaManage"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", "InsigniaManageOrganiation") + .WithMany("InsigniaManageProfiles") + .HasForeignKey("InsigniaManageOrganiationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", "InsigniaNoteProfile") + .WithMany() + .HasForeignKey("InsigniaNoteProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaManageOrganiation"); + + b.Navigation("InsigniaNoteProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNote", "InsigniaNote") + .WithMany("InsigniaNoteDocs") + .HasForeignKey("InsigniaNoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("InsigniaNote"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocReceiveInsignia") + .WithMany() + .HasForeignKey("DocReceiveInsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocReturnInsignia") + .WithMany() + .HasForeignKey("DocReturnInsigniaId"); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNote", "InsigniaNote") + .WithMany("InsigniaNoteProfiles") + .HasForeignKey("InsigniaNoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "RequestInsignia") + .WithMany() + .HasForeignKey("RequestInsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DocReceiveInsignia"); + + b.Navigation("DocReturnInsignia"); + + b.Navigation("InsigniaNote"); + + b.Navigation("RequestInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ReliefDoc") + .WithMany() + .HasForeignKey("ReliefDocId"); + + b.Navigation("ReliefDoc"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaReclaimProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaNoteProfile", "InsigniaNoteProfile") + .WithMany() + .HasForeignKey("InsigniaNoteProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsigniaNoteProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", "Period") + .WithMany("InsigniaRequests") + .HasForeignKey("PeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("Period"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequestProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", "Request") + .WithMany("RequestProfiles") + .HasForeignKey("RequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Insignia", "RequestInsignia") + .WithMany() + .HasForeignKey("RequestInsigniaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Request"); + + b.Navigation("RequestInsignia"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.Province", "Province") + .WithMany("Districts") + .HasForeignKey("ProvinceId"); + + b.Navigation("Province"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Insignia", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.InsigniaType", "InsigniaType") + .WithMany() + .HasForeignKey("InsigniaTypeId"); + + b.Navigation("InsigniaType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Position", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", "ExecutiveSide") + .WithMany() + .HasForeignKey("ExecutiveSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PathSide") + .WithMany() + .HasForeignKey("PathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.Navigation("ExecutiveSide"); + + b.Navigation("PathSide"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.SubDistrict", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.District", "District") + .WithMany("SubDistricts") + .HasForeignKey("DistrictId"); + + b.Navigation("District"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrganizationAgency") + .WithMany() + .HasForeignKey("OrganizationAgencyId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationFax", "OrganizationFax") + .WithMany() + .HasForeignKey("OrganizationFaxId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "OrganizationGovernmentAgency") + .WithMany() + .HasForeignKey("OrganizationGovernmentAgencyId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", "OrganizationLevel") + .WithMany() + .HasForeignKey("OrganizationLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrganizationOrganization") + .WithMany() + .HasForeignKey("OrganizationOrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", "OrganizationTelExternal") + .WithMany() + .HasForeignKey("OrganizationTelExternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", "OrganizationTelInternal") + .WithMany() + .HasForeignKey("OrganizationTelInternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationType", "OrganizationType") + .WithMany() + .HasForeignKey("OrganizationTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLine", "PositionEmployeeLine") + .WithMany() + .HasForeignKey("PositionEmployeeLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePosition", "PositionEmployeePosition") + .WithMany() + .HasForeignKey("PositionEmployeePositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeStatus", "PositionEmployeeStatus") + .WithMany() + .HasForeignKey("PositionEmployeeStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId"); + + b.Navigation("Organization"); + + b.Navigation("OrganizationAgency"); + + b.Navigation("OrganizationFax"); + + b.Navigation("OrganizationGovernmentAgency"); + + b.Navigation("OrganizationLevel"); + + b.Navigation("OrganizationOrganization"); + + b.Navigation("OrganizationShortName"); + + b.Navigation("OrganizationTelExternal"); + + b.Navigation("OrganizationTelInternal"); + + b.Navigation("OrganizationType"); + + b.Navigation("PositionEmployeeLine"); + + b.Navigation("PositionEmployeePosition"); + + b.Navigation("PositionEmployeeStatus"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationEmployeeProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrgEmployee") + .WithMany("OrganizationEmployeeProfiles") + .HasForeignKey("OrgEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrgEmployee"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeeLevel", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrganizationEmployee") + .WithMany("OrganizationPositionEmployeeLevels") + .HasForeignKey("OrganizationEmployeeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeeLevel", "PositionEmployeeLevel") + .WithMany() + .HasForeignKey("PositionEmployeeLevelId"); + + b.Navigation("OrganizationEmployee"); + + b.Navigation("PositionEmployeeLevel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrganizationPositionEmployeePositionSide", b => + { + b.HasOne("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", "OrganizationEmployee") + .WithMany("OrganizationPositionEmployeePositionSides") + .HasForeignKey("OrganizationEmployeeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionEmployeePositionSide", "PositionEmployeePositionSide") + .WithMany() + .HasForeignKey("PositionEmployeePositionSideId"); + + b.Navigation("OrganizationEmployee"); + + b.Navigation("PositionEmployeePositionSide"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.AvailablePositionLevelEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMaster") + .WithMany() + .HasForeignKey("PositionMasterId"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionMaster"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationFax", "OrganizationFax") + .WithMany() + .HasForeignKey("OrganizationFaxId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationLevel", "OrganizationLevel") + .WithMany() + .HasForeignKey("OrganizationLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationOrganization", "OrganizationOrganization") + .WithMany() + .HasForeignKey("OrganizationOrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationStatus", "OrganizationStatus") + .WithMany() + .HasForeignKey("OrganizationStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelExternal", "OrganizationTelExternal") + .WithMany() + .HasForeignKey("OrganizationTelExternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationTelInternal", "OrganizationTelInternal") + .WithMany() + .HasForeignKey("OrganizationTelInternalId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationType", "OrganizationType") + .WithMany() + .HasForeignKey("OrganizationTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Parent") + .WithMany("Organizations") + .HasForeignKey("ParentId"); + + b.Navigation("OrganizationFax"); + + b.Navigation("OrganizationLevel"); + + b.Navigation("OrganizationOrganization"); + + b.Navigation("OrganizationShortName"); + + b.Navigation("OrganizationStatus"); + + b.Navigation("OrganizationTelExternal"); + + b.Navigation("OrganizationTelInternal"); + + b.Navigation("OrganizationType"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", "Organization") + .WithMany() + .HasForeignKey("OrganizationId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMaster") + .WithMany() + .HasForeignKey("PositionMasterId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PositionNumber") + .WithMany() + .HasForeignKey("PositionNumberId"); + + b.Navigation("Organization"); + + b.Navigation("PositionMaster"); + + b.Navigation("PositionNumber"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutive", "PositionExecutive") + .WithMany() + .HasForeignKey("PositionExecutiveId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionExecutiveSide", "PositionExecutiveSide") + .WithMany() + .HasForeignKey("PositionExecutiveSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLine", "PositionLine") + .WithMany() + .HasForeignKey("PositionLineId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PositionPathSide") + .WithMany() + .HasForeignKey("PositionPathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionStatus", "PositionStatus") + .WithMany() + .HasForeignKey("PositionStatusId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.Navigation("PositionExecutive"); + + b.Navigation("PositionExecutiveSide"); + + b.Navigation("PositionLine"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionPathSide"); + + b.Navigation("PositionStatus"); + + b.Navigation("PositionType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterHistoryEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", "PositionMasterEntity") + .WithMany("PositionMasterHistorys") + .HasForeignKey("PositionMasterEntityId"); + + b.Navigation("PositionMasterEntity"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.OrganizationShortName", "OrganizationShortName") + .WithMany() + .HasForeignKey("OrganizationShortNameId"); + + b.Navigation("OrganizationShortName"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.ProfilePosition", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition") + .WithMany() + .HasForeignKey("OrganizationPositionId"); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId"); + + b.Navigation("OrganizationPosition"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.Report2.Report2History", b => + { + b.HasOne("BMA.EHR.Domain.Models.Organizations.Report2.Report2DetailHistory", "Report2DetailHistory") + .WithMany() + .HasForeignKey("Report2DetailHistoryId"); + + b.Navigation("Report2DetailHistory"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementType", "PlacementType") + .WithMany() + .HasForeignKey("PlacementTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PlacementType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointmentDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementAppointment", "PlacementAppointment") + .WithMany("PlacementAppointmentDocs") + .HasForeignKey("PlacementAppointmentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementAppointment"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementCertificate", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementCertificates") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PlacementProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementEducation", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementEducations") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.Navigation("PlacementProfile"); + + b.Navigation("PositionPath"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Placement.Placement", "Placement") + .WithMany("PlacementProfiles") + .HasForeignKey("PlacementId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ProfileImg") + .WithMany() + .HasForeignKey("ProfileImgId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "ReliefDoc") + .WithMany() + .HasForeignKey("ReliefDocId"); + + b.Navigation("Placement"); + + b.Navigation("ProfileImg"); + + b.Navigation("ReliefDoc"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfileDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementProfile", "PlacementProfile") + .WithMany("PlacementProfileDocs") + .HasForeignKey("PlacementProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementProfile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Avatar") + .WithMany() + .HasForeignKey("AvatarId"); + + b.Navigation("Avatar"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceiveDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementReceive", "PlacementReceive") + .WithMany("PlacementReceiveDocs") + .HasForeignKey("PlacementReceiveId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementReceive"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.HasOne("BMA.EHR.Domain.Models.MetaData.BloodGroup", "BloodGroup") + .WithMany() + .HasForeignKey("BloodGroupId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Gender", "Gender") + .WithMany() + .HasForeignKey("GenderId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.OrganizationPositionEntity", "OrganizationPosition") + .WithMany() + .HasForeignKey("OrganizationPositionId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLevel", "PositionLevel") + .WithMany() + .HasForeignKey("PositionLevelId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionLine", "PositionLine") + .WithMany() + .HasForeignKey("PositionLineId"); + + b.HasOne("BMA.EHR.Domain.Models.Organizations.PositionNumberEntity", "PositionNumber") + .WithMany() + .HasForeignKey("PositionNumberId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPath", "PositionPath") + .WithMany() + .HasForeignKey("PositionPathId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionPathSide", "PositionPathSide") + .WithMany() + .HasForeignKey("PositionPathSideId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.PositionType", "PositionType") + .WithMany() + .HasForeignKey("PositionTypeId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Prefix", "Prefix") + .WithMany() + .HasForeignKey("PrefixId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Relationship", "Relationship") + .WithMany() + .HasForeignKey("RelationshipId"); + + b.HasOne("BMA.EHR.Domain.Models.MetaData.Religion", "Religion") + .WithMany() + .HasForeignKey("ReligionId"); + + b.Navigation("BloodGroup"); + + b.Navigation("Gender"); + + b.Navigation("OrganizationPosition"); + + b.Navigation("PositionLevel"); + + b.Navigation("PositionLine"); + + b.Navigation("PositionNumber"); + + b.Navigation("PositionPath"); + + b.Navigation("PositionPathSide"); + + b.Navigation("PositionType"); + + b.Navigation("Prefix"); + + b.Navigation("Profile"); + + b.Navigation("Relationship"); + + b.Navigation("Religion"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocationDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementRelocation", "PlacementRelocation") + .WithMany("PlacementRelocationDocs") + .HasForeignKey("PlacementRelocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementRelocation"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransferDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Placement.PlacementTransfer", "PlacementTransfer") + .WithMany("PlacementTransferDocs") + .HasForeignKey("PlacementTransferId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("PlacementTransfer"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "DocumentForward") + .WithMany() + .HasForeignKey("DocumentForwardId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.Navigation("Document"); + + b.Navigation("DocumentForward"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceasedNoti", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", "RetirementDeceased") + .WithMany("RetirementDeceasedNotis") + .HasForeignKey("RetirementDeceasedId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementDeceased"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDischarge", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementEmployeeQuestion", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany() + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementExpulsion", b => + { + b.HasOne("BMA.EHR.Domain.Models.HR.Profile", "Profile") + .WithMany() + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.HasOne("BMA.EHR.Domain.Models.Commands.Core.CommandType", "CommandType") + .WithMany() + .HasForeignKey("CommandTypeId"); + + b.Navigation("CommandType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOtherDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementOther", "RetirementOther") + .WithMany("RetirementOtherDocs") + .HasForeignKey("RetirementOtherId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementOther"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.Navigation("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriodHistory", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementPeriodHistorys") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementProfiles") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementQuestion", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany() + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementRawProfile", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", "RetirementPeriod") + .WithMany("RetirementRawProfiles") + .HasForeignKey("RetirementPeriodId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementPeriod"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("Approvers") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignCancels") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancelApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", "RetirementResignCancel") + .WithMany("Approvers") + .HasForeignKey("RetirementResignCancelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignCancel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDebtDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignDebtDocs") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResign", "RetirementResign") + .WithMany("RetirementResignDocs") + .HasForeignKey("RetirementResignId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResign"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("Approvers") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeCancels") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancelApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", "RetirementResignEmployeeCancel") + .WithMany("Approvers") + .HasForeignKey("RetirementResignEmployeeCancelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RetirementResignEmployeeCancel"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDebtDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeDebtDocs") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeDoc", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", "RetirementResignEmployee") + .WithMany("RetirementResignEmployeeDocs") + .HasForeignKey("RetirementResignEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("RetirementResignEmployee"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Commands.Core.Command", b => + { + b.Navigation("Deployments"); + + b.Navigation("Documents"); + + b.Navigation("Receivers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.LimitLeave", b => + { + b.Navigation("LimitTypeLeaves"); + + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.Profile", b => + { + b.Navigation("Abilitys"); + + b.Navigation("AddressHistory"); + + b.Navigation("Assessments"); + + b.Navigation("AvatarHistory"); + + b.Navigation("Certificates"); + + b.Navigation("ChangeNames"); + + b.Navigation("Childrens"); + + b.Navigation("CoupleHistory"); + + b.Navigation("CurrentAddressHistory"); + + b.Navigation("Disciplines"); + + b.Navigation("Dutys"); + + b.Navigation("Educations"); + + b.Navigation("Employments"); + + b.Navigation("FamilyHistory"); + + b.Navigation("FatherHistory"); + + b.Navigation("GovernmentHistory"); + + b.Navigation("Honors"); + + b.Navigation("Insignias"); + + b.Navigation("LeaveSummary"); + + b.Navigation("Leaves"); + + b.Navigation("MotherHistory"); + + b.Navigation("Nopaids"); + + b.Navigation("Others"); + + b.Navigation("Papers"); + + b.Navigation("ProfileHistory"); + + b.Navigation("RegistrationAddressHistory"); + + b.Navigation("Salaries"); + + b.Navigation("Trainings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAbility", b => + { + b.Navigation("ProfileAbilityHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileAssessment", b => + { + b.Navigation("ProfileAssessmentHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileCertificate", b => + { + b.Navigation("ProfileCertificateHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChangeName", b => + { + b.Navigation("ProfileChangeNameHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileChildren", b => + { + b.Navigation("ProfileChildrenHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDiscipline", b => + { + b.Navigation("ProfileDisciplineHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileDuty", b => + { + b.Navigation("ProfileDutyHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileEducation", b => + { + b.Navigation("ProfileEducationHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileFamilyHistory", b => + { + b.Navigation("Childrens"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileHonor", b => + { + b.Navigation("ProfileHonorHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileInsignia", b => + { + b.Navigation("ProfileInsigniaHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileLeave", b => + { + b.Navigation("ProfileLeaveHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileNopaid", b => + { + b.Navigation("ProfileNopaidHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileOther", b => + { + b.Navigation("ProfileOtherHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileSalary", b => + { + b.Navigation("ProfileSalaryHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.ProfileTraining", b => + { + b.Navigation("ProfileTrainingHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.HR.TypeLeave", b => + { + b.Navigation("LimitTypeLeaves"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManage", b => + { + b.Navigation("InsigniaManageOrganiations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaManageOrganiation", b => + { + b.Navigation("InsigniaManageProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaNote", b => + { + b.Navigation("InsigniaNoteDocs"); + + b.Navigation("InsigniaNoteProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaPeriod", b => + { + b.Navigation("InsigniaEmployees"); + + b.Navigation("InsigniaRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Insignias.InsigniaRequest", b => + { + b.Navigation("RequestProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.District", b => + { + b.Navigation("SubDistricts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.MetaData.Province", b => + { + b.Navigation("Districts"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.OrganizationEmployee.OrgEmployee", b => + { + b.Navigation("OrganizationEmployeeProfiles"); + + b.Navigation("OrganizationPositionEmployeeLevels"); + + b.Navigation("OrganizationPositionEmployeePositionSides"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.OrganizationEntity", b => + { + b.Navigation("Organizations"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Organizations.PositionMasterEntity", b => + { + b.Navigation("PositionMasterHistorys"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.Placement", b => + { + b.Navigation("PlacementProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementAppointment", b => + { + b.Navigation("PlacementAppointmentDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementProfile", b => + { + b.Navigation("PlacementCertificates"); + + b.Navigation("PlacementEducations"); + + b.Navigation("PlacementProfileDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementReceive", b => + { + b.Navigation("PlacementReceiveDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementRelocation", b => + { + b.Navigation("PlacementRelocationDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Placement.PlacementTransfer", b => + { + b.Navigation("PlacementTransferDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementDeceased", b => + { + b.Navigation("RetirementDeceasedNotis"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementOther", b => + { + b.Navigation("RetirementOtherDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementPeriod", b => + { + b.Navigation("RetirementPeriodHistorys"); + + b.Navigation("RetirementProfiles"); + + b.Navigation("RetirementRawProfiles"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResign", b => + { + b.Navigation("Approvers"); + + b.Navigation("RetirementResignCancels"); + + b.Navigation("RetirementResignDebtDocs"); + + b.Navigation("RetirementResignDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignCancel", b => + { + b.Navigation("Approvers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployee", b => + { + b.Navigation("Approvers"); + + b.Navigation("RetirementResignEmployeeCancels"); + + b.Navigation("RetirementResignEmployeeDebtDocs"); + + b.Navigation("RetirementResignEmployeeDocs"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Retirement.RetirementResignEmployeeCancel", b => + { + b.Navigation("Approvers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.cs b/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.cs new file mode 100644 index 00000000..aea9ff02 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/20260521081933_update_Tables_add_posExecutiveId.cs @@ -0,0 +1,66 @@ +ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations +{ + /// + public partial class update_Tables_add_posExecutiveId : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "posExecutiveId", + table: "RetirementOthers", + type: "longtext", + nullable: true, + comment: "id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ") + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "posExecutiveId", + table: "PlacementReceives", + type: "longtext", + nullable: true, + comment: "id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ") + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "posExecutiveId", + table: "PlacementProfiles", + type: "longtext", + nullable: true, + comment: "id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ") + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "posExecutiveId", + table: "PlacementAppointments", + type: "longtext", + nullable: true, + comment: "id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ") + .Annotation("MySql:CharSet", "utf8mb4"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "posExecutiveId", + table: "RetirementOthers"); + + migrationBuilder.DropColumn( + name: "posExecutiveId", + table: "PlacementReceives"); + + migrationBuilder.DropColumn( + name: "posExecutiveId", + table: "PlacementProfiles"); + + migrationBuilder.DropColumn( + name: "posExecutiveId", + table: "PlacementAppointments"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs index b0a92489..273e0978 100644 --- a/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/ApplicationDBContextModelSnapshot.cs @@ -11721,6 +11721,10 @@ namespace BMA.EHR.Infrastructure.Migrations .HasColumnType("longtext") .HasComment("id revision"); + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + b.Property("posLevelId") .HasColumnType("longtext") .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); @@ -13108,6 +13112,10 @@ namespace BMA.EHR.Infrastructure.Migrations .HasColumnType("longtext") .HasComment("āļŠāļ·āđˆāļ­āļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™"); + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + b.Property("posLevelId") .HasColumnType("longtext") .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); @@ -13613,6 +13621,10 @@ namespace BMA.EHR.Infrastructure.Migrations .HasColumnType("longtext") .HasComment("id revision"); + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + b.Property("posLevelId") .HasColumnType("longtext") .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); @@ -15803,6 +15815,10 @@ namespace BMA.EHR.Infrastructure.Migrations .HasColumnType("longtext") .HasComment("id revision"); + b.Property("posExecutiveId") + .HasColumnType("longtext") + .HasComment("id āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + b.Property("posLevelId") .HasColumnType("longtext") .HasComment("id āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); From 64c75cd9d5b8755b2a545111b7518e38ba2d0d68 Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 21 May 2026 16:38:08 +0700 Subject: [PATCH 42/90] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20format=20?= =?UTF-8?q?=E0=B8=9F=E0=B8=B4=E0=B8=A7=20posMasterNo=20(4)=20=E0=B8=AA?= =?UTF-8?q?=E0=B8=B3=E0=B8=AB=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B8=9A=E0=B8=B1?= =?UTF-8?q?=E0=B8=99=E0=B8=97=E0=B8=B6=E0=B8=81=E0=B8=95=E0=B8=AD=E0=B8=99?= =?UTF-8?q?=E0=B8=97=E0=B8=B3=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2?= =?UTF-8?q?=E0=B8=82=E0=B8=AD=E0=B9=82=E0=B8=AD=E0=B8=99=20=E0=B9=81?= =?UTF-8?q?=E0=B8=A5=E0=B8=B0=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B9=82=E0=B8=AD?= =?UTF-8?q?=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementReceiveController.cs | 2 +- .../Controllers/PlacementTransferController.cs | 2 +- BMA.EHR.Placement.Service/Requests/OrgRequest.cs | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 68634c78..a8af9ad7 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -590,7 +590,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementReceive.positionAreaOld = org.result.positionArea; placementReceive.PositionLevelOld = org.result.posLevelName; placementReceive.PositionTypeOld = org.result.posTypeName; - placementReceive.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementReceive.PositionNumberOld = org.result.posNo; placementReceive.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index d7e62306..b74a6bc5 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -764,7 +764,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementTransfer.positionAreaOld = org.result.positionArea; placementTransfer.PositionLevelOld = org.result.posLevelName; placementTransfer.PositionTypeOld = org.result.posTypeName; - placementTransfer.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementTransfer.PositionNumberOld = org.result.posNo; placementTransfer.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Placement.Service/Requests/OrgRequest.cs b/BMA.EHR.Placement.Service/Requests/OrgRequest.cs index c943bc53..6fd3c148 100644 --- a/BMA.EHR.Placement.Service/Requests/OrgRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/OrgRequest.cs @@ -53,6 +53,7 @@ namespace BMA.EHR.Placement.Service.Requests public double? Amount { get; set; } public string? avatarUrl { get; set; } public bool? isDeputy { get; set; } + public string? posNo { get; set; } } } \ No newline at end of file From 02abedc9735f39a2bae523938cf693cac61b86b1 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 21 May 2026 16:47:19 +0700 Subject: [PATCH 43/90] =?UTF-8?q?fix=20=E0=B9=80=E0=B8=A5=E0=B8=B7?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=88=E0=B8=87=E0=B9=83=E0=B8=99=E0=B8=AA=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=E0=B8=AB=E0=B8=B2=E0=B8=A2=20?= =?UTF-8?q?=E0=B9=80=E0=B8=A1=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=A1=E0=B8=B5?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=9B=E0=B8=A5=E0=B8=B5?= =?UTF-8?q?=E0=B9=88=E0=B8=A2=E0=B8=99=E0=B9=81=E0=B8=9B=E0=B8=A5=E0=B8=87?= =?UTF-8?q?=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9=E0=B8=A5=E0=B8=95?= =?UTF-8?q?=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99=E0=B9=88=E0=B8=87=E0=B9=83?= =?UTF-8?q?=E0=B8=99=E0=B9=82=E0=B8=84=E0=B8=A3=E0=B8=87=E0=B8=AA=E0=B8=A3?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=E0=B8=87=20#2505?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlacementAppointmentController.cs | 9 ++++++ .../Controllers/PlacementController.cs | 29 +++++++++++++++++-- .../Controllers/PlacementReceiveController.cs | 12 ++++++-- .../PersonSelectPositionAppointmentRequest.cs | 1 + .../PersonSelectPositionReceiveRequest.cs | 1 + .../Requests/PersonSelectPositionRequest.cs | 1 + .../Controllers/RetirementOtherController.cs | 5 ++++ .../PersonSelectPositionOtherRequest.cs | 1 + 8 files changed, 55 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index ff010a2a..755b7440 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -676,6 +676,7 @@ namespace BMA.EHR.Placement.Service.Controllers uppdated.posMasterNo = req.posMasterNo; uppdated.position = req.positionName; uppdated.PositionExecutive = req.posExecutiveName; + uppdated.posExecutiveId = req.posExecutiveId; uppdated.positionExecutiveField = req.positionExecutiveField; uppdated.positionArea = req.positionArea; uppdated.positionField = req.positionField; @@ -1014,6 +1015,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, @@ -1226,6 +1229,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, @@ -1855,6 +1860,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, @@ -2016,6 +2023,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 39b7fc63..2a413aea 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -1065,6 +1065,7 @@ namespace BMA.EHR.Placement.Service.Controllers person.positionId = req.positionId; person.posMasterNo = req.posMasterNo; person.positionName = req.positionName; + person.posExecutiveId = req.posExecutiveId; person.PositionExecutive = req.posExecutiveName; person.positionExecutiveField = req.positionExecutiveField; person.positionArea = req.positionArea; @@ -1453,6 +1454,10 @@ namespace BMA.EHR.Placement.Service.Controllers profile.posTypeName = null; profile.posLevelId = null; profile.posLevelName = null; + profile.PositionExecutive = null; + profile.posExecutiveId = null; + profile.positionArea = null; + profile.positionExecutiveField = null; // profile.PositionLevel = null; // profile.PositionType = null; @@ -1936,7 +1941,14 @@ namespace BMA.EHR.Placement.Service.Controllers bodyPosition = new { posmasterId = p.posmasterId, - positionId = p.positionId + positionId = p.positionId, + positionName = p.positionName, + positionField = p.positionField, + posTypeId = p.posTypeId, + posLevelId = p.posLevelId, + posExecutiveId = p.posExecutiveId, + positionExecutiveField = p.positionExecutiveField, + positionArea = p.positionArea, }, bodyMarry = new { @@ -2292,7 +2304,14 @@ namespace BMA.EHR.Placement.Service.Controllers bodyPosition = new { posmasterId = p.posmasterId, - positionId = p.positionId + positionId = p.positionId, + positionName = p.positionName, + positionField = p.positionField, + posTypeId = p.posTypeId, + posLevelId = p.posLevelId, + posExecutiveId = p.posExecutiveId, + positionExecutiveField = p.positionExecutiveField, + positionArea = p.positionArea, }, bodyMarry = new { @@ -2563,6 +2582,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, @@ -2804,6 +2825,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, @@ -3030,6 +3053,8 @@ namespace BMA.EHR.Placement.Service.Controllers positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, commandId = r.commandId, orgRoot = p.root, orgChild1 = p.child1, diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 68634c78..d51f1836 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -782,6 +782,7 @@ namespace BMA.EHR.Placement.Service.Controllers uppdated.posMasterNo = req.posMasterNo; uppdated.position = req.positionName; uppdated.PositionExecutive = req.posExecutiveName; + uppdated.posExecutiveId = req.posExecutiveId; uppdated.positionExecutiveField = req.positionExecutiveField; uppdated.positionArea = req.positionArea; uppdated.positionField = req.positionField; @@ -1216,8 +1217,15 @@ namespace BMA.EHR.Placement.Service.Controllers }, bodyPosition = new { - posmasterId = p.posmasterId, - positionId = p.positionId + posmasterId = p.posmasterId, + positionId = p.positionId, + positionName = p.position, + positionField = p.positionField, + posTypeId = p.posTypeId, + posLevelId = p.posLevelId, + posExecutiveId = p.posExecutiveId, + positionExecutiveField = p.positionExecutiveField, + positionArea = p.positionArea, } }).ToList(); diff --git a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentRequest.cs b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentRequest.cs index 8f6c31ba..e64444ed 100644 --- a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionAppointmentRequest.cs @@ -30,6 +30,7 @@ namespace BMA.EHR.Placement.Service.Requests public string? posLevelName { get; set; } public string? typeCommand { get; set; } public string? posExecutiveName { get; set; } + public string? posExecutiveId { get; set; } public string? positionExecutiveField { get; set; } public string? positionArea { get; set; } } diff --git a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionReceiveRequest.cs b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionReceiveRequest.cs index 9b22874b..29e5d096 100644 --- a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionReceiveRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionReceiveRequest.cs @@ -30,6 +30,7 @@ namespace BMA.EHR.Placement.Service.Requests public string? posLevelName { get; set; } public string? typeCommand { get; set; } public string? posExecutiveName { get; set; } + public string? posExecutiveId { get; set; } public string? positionExecutiveField { get; set; } public string? positionArea { get; set; } } diff --git a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionRequest.cs b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionRequest.cs index 66042358..681bc1d5 100644 --- a/BMA.EHR.Placement.Service/Requests/PersonSelectPositionRequest.cs +++ b/BMA.EHR.Placement.Service/Requests/PersonSelectPositionRequest.cs @@ -39,6 +39,7 @@ namespace BMA.EHR.Placement.Service.Requests public string? posLevelName { get; set; } public string? typeCommand { get; set; } public string? posExecutiveName { get; set; } + public string? posExecutiveId { get; set; } public string? positionExecutiveField { get; set; } public string? positionArea { get; set; } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 588ccabe..36fbaa75 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -569,6 +569,7 @@ namespace BMA.EHR.Retirement.Service.Controllers uppdated.positionId = req.positionId; uppdated.posMasterNo = req.posMasterNo; uppdated.position = req.positionName; + uppdated.posExecutiveId = req.posExecutiveId; uppdated.PositionExecutive = req.posExecutiveName; uppdated.positionExecutiveField = req.positionExecutiveField; uppdated.positionArea = req.positionArea; @@ -889,6 +890,8 @@ namespace BMA.EHR.Retirement.Service.Controllers commandCode = r.commandCode, commandName = r.commandName, remark = r.remark, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, positionTypeNew = p.posTypeId, positionLevelNew = p.posLevelId, positionNameNew = p.position, @@ -1138,6 +1141,8 @@ namespace BMA.EHR.Retirement.Service.Controllers commandCode = r.commandCode, commandName = r.commandName, remark = r.remark, + posExecutiveId = p.posExecutiveId, + positionField = p.positionField, positionTypeNew = p.posTypeId, positionLevelNew = p.posLevelId, positionNameNew = p.position, diff --git a/BMA.EHR.Retirement.Service/Requests/PersonSelectPositionOtherRequest.cs b/BMA.EHR.Retirement.Service/Requests/PersonSelectPositionOtherRequest.cs index 8252d1af..44c2da54 100644 --- a/BMA.EHR.Retirement.Service/Requests/PersonSelectPositionOtherRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/PersonSelectPositionOtherRequest.cs @@ -29,6 +29,7 @@ namespace BMA.EHR.Retirement.Service.Requests public string? posLevelId { get; set; } public string? posLevelName { get; set; } public string? typeCommand { get; set; } + public string? posExecutiveId { get; set; } public string? posExecutiveName { get; set; } public string? positionExecutiveField { get; set; } public string? positionArea { get; set; } From 782d1526b569088a2a381b35c2f9b6ada50afabc Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 22 May 2026 13:58:55 +0700 Subject: [PATCH 44/90] =?UTF-8?q?fix=20=E0=B8=84=E0=B8=B3=E0=B8=AA?= =?UTF-8?q?=E0=B8=B1=E0=B9=88=E0=B8=87=20C-PM-08,=20C-PM-09=20=E0=B9=83?= =?UTF-8?q?=E0=B8=AB=E0=B9=89=E0=B8=AA=E0=B9=88=E0=B8=87=20positionId=20?= =?UTF-8?q?=20=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RetirementOtherController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 36fbaa75..3f36af1d 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -890,6 +890,7 @@ namespace BMA.EHR.Retirement.Service.Controllers commandCode = r.commandCode, commandName = r.commandName, remark = r.remark, + positionId = p.positionId, posExecutiveId = p.posExecutiveId, positionField = p.positionField, positionTypeNew = p.posTypeId, @@ -1141,6 +1142,7 @@ namespace BMA.EHR.Retirement.Service.Controllers commandCode = r.commandCode, commandName = r.commandName, remark = r.remark, + positionId = p.positionId, posExecutiveId = p.posExecutiveId, positionField = p.positionField, positionTypeNew = p.posTypeId, From caa01088c66102cecb84e1f152cb09646b008ff1 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 22 May 2026 18:28:28 +0700 Subject: [PATCH 45/90] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20log=20api=20recruit/report/excecute?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementController.cs | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 2a413aea..db3e9e86 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -1815,16 +1815,27 @@ namespace BMA.EHR.Placement.Service.Controllers [HttpPost("recruit/report/excecute")] public async Task> PostReportExecuteRecruit([FromBody] ReportExecuteRequest req) { + Console.WriteLine($"[RecruitReportExcecute] Starting execution at {DateTime.Now}"); + try { + Console.WriteLine($"[RecruitReportExcecute] Request received with {req?.refIds?.Length ?? 0} refIds"); + var placementProfile = await _context.PlacementProfiles .Include(x => x.PlacementCertificates) .Include(x => x.PlacementEducations) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + Console.WriteLine($"[RecruitReportExcecute] Found {placementProfile?.Count ?? 0} placement profiles"); + if (placementProfile == null) + { + Console.Error.WriteLine("[RecruitReportExcecute] PlacementProfile is null - returning NotFound"); return NotFound(); + } + + Console.WriteLine("[RecruitReportExcecute] Building resultData from placement profiles and refIds"); var resultData = (from p in placementProfile join r in req.refIds @@ -1977,6 +1988,9 @@ namespace BMA.EHR.Placement.Service.Controllers }, }).ToList(); + Console.WriteLine($"[RecruitReportExcecute] resultData built successfully with {resultData?.Count ?? 0} records"); + + Console.WriteLine($"[RecruitReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; using (var client = new HttpClient()) { @@ -1988,8 +2002,10 @@ namespace BMA.EHR.Placement.Service.Controllers data = resultData }); var _result = await _res.Content.ReadAsStringAsync(); + Console.WriteLine($"[RecruitReportExcecute] External API response status: {_res.StatusCode}"); if (_res.IsSuccessStatusCode) { + Console.WriteLine("[RecruitReportExcecute] External API call successful - updating placement profiles"); placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; @@ -2003,14 +2019,24 @@ namespace BMA.EHR.Placement.Service.Controllers profile.templateDoc = req.refIds[0].remark; } }); + Console.WriteLine($"[RecruitReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); await _context.SaveChangesAsync(); + Console.WriteLine("[RecruitReportExcecute] Database save completed successfully"); + } + else + { + Console.Error.WriteLine($"[RecruitReportExcecute] External API call failed with status: {_res.StatusCode}"); + Console.Error.WriteLine($"[RecruitReportExcecute] Response content: {_result}"); } } + Console.WriteLine($"[RecruitReportExcecute] Process completed successfully at {DateTime.Now}"); return Success(); } - catch + catch (Exception ex) { + Console.Error.WriteLine($"[RecruitReportExcecute] Error occurred: {ex.Message}"); + Console.Error.WriteLine($"[RecruitReportExcecute] Stack trace: {ex.StackTrace}"); throw; } } From f6bf1ab026bac08a4e1b327650d81eca79965902 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 25 May 2026 14:19:44 +0700 Subject: [PATCH 46/90] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B9=80=E0=B8=81=E0=B9=87=E0=B8=9A?= =?UTF-8?q?=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9=E0=B8=A5=E0=B9=80?= =?UTF-8?q?=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1=E0=B9=80=E0=B8=95=E0=B8=B4?= =?UTF-8?q?=E0=B8=A1=E0=B9=83=E0=B8=99=20CheckinJobStatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CheckInJobStatusRepository.cs | 54 +++++ BMA.EHR.Leave/BMA.EHR.Leave.csproj | 3 + BMA.EHR.Leave/Controllers/LeaveController.cs | 213 ++++++++++++++---- BMA.EHR.Leave/Program.cs | 20 +- BMA.EHR.Leave/wwwroot/blank.jpeg | Bin 0 -> 16428 bytes 5 files changed, 238 insertions(+), 52 deletions(-) create mode 100644 BMA.EHR.Leave/wwwroot/blank.jpeg diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs index 302bdd12..85c575d3 100644 --- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs @@ -114,6 +114,60 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants return job!; } + /// + /// āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāļ–āļēāļ™āļ° PENDING āļŦāļĢāļ·āļ­ PROCESSING āđ€āļāļīāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” (āļ™āļēāļ—āļĩ) + /// + public async Task> GetStalePendingOrProcessingJobsAsync(int timeoutMinutes = 30) + { + var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes); + var staleJobs = await _dbContext.Set() + .Where(x => (x.Status == "PENDING" || x.Status == "PROCESSING") + && x.CreatedDate < cutoffDate) + .OrderBy(x => x.CreatedDate) + .ToListAsync(); + + return staleJobs; + } + + /// + /// āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāļ–āļēāļ™āļ° PENDING āļŦāļĢāļ·āļ­ PROCESSING āđ€āļāļīāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ” (āļ™āļēāļ—āļĩ) āļ‚āļ­āļ‡ user āļ„āļ™āđƒāļ”āļ„āļ™āļŦāļ™āļķāđˆāļ‡ + /// + public async Task> GetStalePendingOrProcessingJobsByUserAsync(Guid userId, int timeoutMinutes = 30) + { + var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes); + var staleJobs = await _dbContext.Set() + .Where(x => x.KeycloakUserId == userId + && (x.Status == "PENDING" || x.Status == "PROCESSING") + && x.CreatedDate < cutoffDate) + .OrderBy(x => x.CreatedDate) + .ToListAsync(); + + return staleJobs; + } + + /// + /// Mark āļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ›āđ‡āļ™ FAILED + /// + public async Task MarkStaleJobsAsFailedAsync(int timeoutMinutes = 30) + { + var staleJobs = await GetStalePendingOrProcessingJobsAsync(timeoutMinutes); + + foreach (var job in staleJobs) + { + job.Status = "FAILED"; + job.CompletedDate = DateTime.Now; + job.ErrorMessage = $"āļ‡āļēāļ™āļ„āđ‰āļēāļ‡āđƒāļ™āļŠāļ–āļēāļ™āļ° {job.Status} āđ€āļāļīāļ™ {timeoutMinutes} āļ™āļēāļ—āļĩ āļĢāļ°āļšāļšāļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļ›āđ‡āļ™ FAILED āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī"; + } + + if (staleJobs.Any()) + { + _dbContext.Set().UpdateRange(staleJobs); + await _dbContext.SaveChangesAsync(); + } + + return staleJobs.Count; + } + /// /// āļĨāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Job Status āļ—āļĩāđˆāđ€āļāđˆāļēāđ€āļāļīāļ™ X āļ§āļąāļ™ /// diff --git a/BMA.EHR.Leave/BMA.EHR.Leave.csproj b/BMA.EHR.Leave/BMA.EHR.Leave.csproj index 28f42590..e7c58efa 100644 --- a/BMA.EHR.Leave/BMA.EHR.Leave.csproj +++ b/BMA.EHR.Leave/BMA.EHR.Leave.csproj @@ -74,6 +74,9 @@ PreserveNewest + + PreserveNewest + diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 3b1ec5b7..78594aef 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -536,7 +536,18 @@ namespace BMA.EHR.Leave.Service.Controllers // prepare data and convert request body and send to queue var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId); var currentDate = DateTime.Now; - + + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ° mark āļ‡āļēāļ™āđ€āļāđˆāļēāļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™ 30 āļ™āļēāļ—āļĩāđ€āļ›āđ‡āļ™ FAILED āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī + var staleJobs = await _checkInJobStatusRepository.GetStalePendingOrProcessingJobsByUserAsync(userId, 30); + if (staleJobs != null && staleJobs.Count > 0) + { + foreach (var staleJob in staleJobs) + { + await _checkInJobStatusRepository.UpdateToFailedAsync(staleJob.TaskId, + $"āļ‡āļēāļ™āļ„āđ‰āļēāļ‡āđƒāļ™āļŠāļ–āļēāļ™āļ° {staleJob.Status} āđ€āļāļīāļ™ 30 āļ™āļēāļ—āļĩ āļĢāļ°āļšāļšāļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļ›āđ‡āļ™ FAILED āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī"); + } + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļĄāļĩāļ‡āļēāļ™āļ—āļĩāđˆāļāļģāļĨāļąāļ‡ pending āļŦāļĢāļ·āļ­ processing āļ­āļĒāļđāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆ var existingJobs = await _checkInJobStatusRepository.GetPendingOrProcessingJobsAsync(userId); if (existingJobs != null && existingJobs.Count > 0) @@ -544,10 +555,10 @@ namespace BMA.EHR.Leave.Service.Controllers // āļāļĢāļ­āļ‡āđ€āļ‰āļžāļēāļ°āļ‡āļēāļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ€āļ āļ—āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ (CHECK_IN āļŦāļĢāļ·āļ­ CHECK_OUT) var checkType = data.CheckInId == null ? "CHECK_IN" : "CHECK_OUT"; var sameTypeJob = existingJobs.FirstOrDefault(j => j.CheckType == checkType); - + if (sameTypeJob != null) { - + return Error($"āļĄāļĩāļ‡āļēāļ™ {checkType} āļāļģāļĨāļąāļ‡āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ­āļĒāļđāđˆ", StatusCodes.Status500InternalServerError); // var timeDiff = (currentDate - sameTypeJob.CreatedDate).TotalMinutes; // if (timeDiff < 2) @@ -586,7 +597,7 @@ namespace BMA.EHR.Leave.Service.Controllers LocationName = data.LocationName, Remark = data.Remark, CheckInFileName = data.Img == null ? "no-file" : data.Img.FileName, - CheckInFileBytes = checkFileBytes, + //CheckInFileBytes = checkFileBytes, Token = AccessToken ?? "" }; @@ -613,14 +624,7 @@ namespace BMA.EHR.Leave.Service.Controllers Status = "PENDING", CheckType = data.CheckInId == null ? "CHECK_IN" : "CHECK_OUT", CheckInId = data.CheckInId, - AdditionalData = JsonConvert.SerializeObject(new - { - IsLocation = data.IsLocation, - LocationName = data.LocationName, - POI = data.POI, - KeycloakId = userId, - Token = AccessToken, - }) + AdditionalData = JsonConvert.SerializeObject(checkData) }; await _checkInJobStatusRepository.AddAsync(jobStatus); @@ -727,6 +731,117 @@ namespace BMA.EHR.Leave.Service.Controllers return Success(new { count = result.Count, jobs = result }); } + /// + /// āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‡āļēāļ™ CheckIn āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāļ–āļēāļ™āļ° PENDING/PROCESSING āđ€āļāļīāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡ + /// + /// + /// āđ€āļĄāļ·āđˆāļ­āļ—āļģāļĢāļēāļĒāļāļēāļĢāļŠāļģāđ€āļĢāđ‡āļˆ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpPost("reprocess-stale-checkin-jobs")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> ReprocessStaleCheckInJobsAsync([FromQuery] int timeoutMinutes = 30) + { + try + { + var staleJobs = await _checkInJobStatusRepository.GetStalePendingOrProcessingJobsAsync(timeoutMinutes); + + if (staleJobs == null || staleJobs.Count == 0) + { + return Success(new { message = "āđ„āļĄāđˆāļžāļšāļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆ", count = 0 }); + } + + var results = new List(); + foreach (var job in staleJobs) + { + try + { + // āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļīāļĄāļˆāļēāļ AdditionalData + if (string.IsNullOrEmpty(job.AdditionalData)) + { + await _checkInJobStatusRepository.UpdateToFailedAsync(job.TaskId, + "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģ (AdditionalData is null)"); + results.Add(new + { + taskId = job.TaskId, + keycloakUserId = job.KeycloakUserId, + checkType = job.CheckType, + createdDate = job.CreatedDate, + previousStatus = job.Status, + newStatus = "FAILED", + errorMessage = "āđ„āļĄāđˆāļžāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģ" + }); + continue; + } + + var checkData = JsonConvert.DeserializeObject(job.AdditionalData); + checkData.UserId = job.KeycloakUserId; + checkData.CurrentDate = job.CreatedDate; + if (checkData == null) + { + await _checkInJobStatusRepository.UpdateToFailedAsync(job.TaskId, + "āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģāđ„āļ”āđ‰"); + results.Add(new + { + taskId = job.TaskId, + keycloakUserId = job.KeycloakUserId, + checkType = job.CheckType, + createdDate = job.CreatedDate, + previousStatus = job.Status, + newStatus = "FAILED", + errorMessage = "āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģāđ„āļ”āđ‰" + }); + continue; + } + + // āļ•āļąāđ‰āļ‡ TaskId āđƒāļŦāđ‰āļ•āļĢāļ‡āļāļąāļš job āđ€āļ”āļīāļĄ + checkData.TaskId = job.TaskId; + + // āđ€āļĢāļĩāļĒāļ ProcessCheckInAsync āļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ”āļīāļĄ + var processResult = await ProcessCheckInAsync(checkData); + + results.Add(new + { + taskId = job.TaskId, + keycloakUserId = job.KeycloakUserId, + checkType = job.CheckType, + createdDate = job.CreatedDate, + previousStatus = job.Status, + result = processResult + }); + } + catch (Exception ex) + { + await _checkInJobStatusRepository.UpdateToFailedAsync(job.TaskId, + $"āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģ: {ex.Message}"); + results.Add(new + { + taskId = job.TaskId, + keycloakUserId = job.KeycloakUserId, + checkType = job.CheckType, + createdDate = job.CreatedDate, + previousStatus = job.Status, + newStatus = "FAILED", + errorMessage = ex.Message + }); + } + } + + return Success(new + { + message = $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‹āđ‰āļģāļ‡āļēāļ™ {staleJobs.Count} āļĢāļēāļĒāļāļēāļĢāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™", + count = staleJobs.Count, + jobs = results + }); + } + catch (Exception ex) + { + return Error(ex); + } + } + [HttpGet("check-status")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] @@ -958,16 +1073,18 @@ namespace BMA.EHR.Leave.Service.Controllers var currentDate = data.CurrentDate ?? DateTime.Now; - if (data.CheckInFileName == "no-file") + if (data.CheckInFileName == "no-file") { //throw new Exception(GlobalMessages.NoFileToUpload); await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, GlobalMessages.NoFileToUpload); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); + await _notificationService.SendNotificationAsync(data.Token, true, + $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user var noti1 = new Notification { - Body = $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}", + Body = + $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ {GlobalMessages.NoFileToUpload}", ReceiverUserId = profile.Id, Type = "", Payload = "", @@ -977,46 +1094,54 @@ namespace BMA.EHR.Leave.Service.Controllers return Error(GlobalMessages.NoFileToUpload, StatusCodes.Status400BadRequest); } - + // last check-in record var lastCheckIn = await _userTimeStampRepository.GetLastRecord(userId); var check_status = data.CheckInId == null ? "check-in-picture" : "check-out-picture"; var check_out_status = "check-out-picture"; - var fileName = $"{_bucketName}/{userId}/{currentDate.ToString("dd-MM-yyyy")}/{check_status}/{data.CheckInFileName}"; - var fileNameCheckOut = $"{_bucketName}/{userId}/{currentDate.ToString("dd-MM-yyyy")}/{check_out_status}/{data.CheckInFileName}"; - using (var ms = new MemoryStream(data.CheckInFileBytes ?? new byte[0])) + // āļ–āđ‰āļēāđ„āļĄāđˆāļĄāļĩ CheckInFileBytes āđƒāļŦāđ‰āđƒāļŠāđ‰āļ āļēāļž blank.jpeg āđāļ—āļ™ + var fileBytes = data.CheckInFileBytes; + if (fileBytes == null || fileBytes.Length == 0) + { + var blankPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot", "blank.jpeg"); + fileBytes = await System.IO.File.ReadAllBytesAsync(blankPath); + data.CheckInFileName = "blank.jpeg"; + } + + var fileName = + $"{_bucketName}/{userId}/{currentDate.ToString("dd-MM-yyyy")}/{check_status}/{data.CheckInFileName}"; + var fileNameCheckOut = + $"{_bucketName}/{userId}/{currentDate.ToString("dd-MM-yyyy")}/{check_out_status}/{data.CheckInFileName}"; + using (var ms = new MemoryStream(fileBytes)) { try { await _minIOService.UploadFileAsync(fileName, ms); - // if (lastCheckIn != null && lastCheckIn.CheckOut == null) - // { - // // āļĒāļąāļ‡āđ„āļĄāđˆāđ€āļ„āļĒ check-out āļĄāļēāļāđˆāļ­āļ™ āļŦāļĢāļ·āļ­ check-out āđ€āļ›āđ‡āļ™ null āđƒāļŦāđ‰āđƒāļŠāđ‰āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāđāļšāļš check-out - // await _minIOService.UploadFileAsync(fileNameCheckOut, ms); - // } } catch (Exception ex) { - await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); + await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, + $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, + $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user - var noti1 = new Notification + var noti2 = new Notification { - Body = $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}", + Body = + $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}", ReceiverUserId = profile.Id, Type = "", Payload = "", }; - _appDbContext.Set().Add(noti1); + _appDbContext.Set().Add(noti2); await _appDbContext.SaveChangesAsync(); - - return Error($"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}", StatusCodes.Status500InternalServerError); + return Error($"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}", + StatusCodes.Status500InternalServerError); } - } if (lastCheckIn != null && lastCheckIn.CheckOut == null) @@ -1026,36 +1151,32 @@ namespace BMA.EHR.Leave.Service.Controllers try { await _minIOService.UploadFileAsync(fileNameCheckOut, ms2); - // if (lastCheckIn != null && lastCheckIn.CheckOut == null) - // { - // // āļĒāļąāļ‡āđ„āļĄāđˆāđ€āļ„āļĒ check-out āļĄāļēāļāđˆāļ­āļ™ āļŦāļĢāļ·āļ­ check-out āđ€āļ›āđ‡āļ™ null āđƒāļŦāđ‰āđƒāļŠāđ‰āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāđāļšāļš check-out - // await _minIOService.UploadFileAsync(fileNameCheckOut, ms); - // } } catch (Exception ex) { - await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); - await _notificationService.SendNotificationAsync(data.Token, true, $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); + await _checkInJobStatusRepository.UpdateToFailedAsync(taskId, + $"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}"); + await _notificationService.SendNotificationAsync(data.Token, true, + $"āļĨāļ‡āđ€āļ§āļĨāļēāđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}\r\nāļāļĢāļļāļ“āļēāļĨāļ­āļ‡āđƒāļŦāļĄāđˆāļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡"); // send notification to user - var noti1 = new Notification + var noti3 = new Notification { - Body = $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}", + Body = + $"āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ§āļąāļ™āļ—āļĩāđˆ {currentDate.ToString("dd-MM-yyyy")} āđ„āļĄāđˆāļŠāļģāđ€āļĢāđ‡āļˆ \r\nāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰ {ex.Message}", ReceiverUserId = profile.Id, Type = "", Payload = "", }; - _appDbContext.Set().Add(noti1); + _appDbContext.Set().Add(noti3); await _appDbContext.SaveChangesAsync(); - - return Error($"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}", StatusCodes.Status500InternalServerError); + return Error($"āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĢāļđāļ›āļ āļēāļžāđ„āļ”āđ‰: {ex.Message}", + StatusCodes.Status500InternalServerError); } - } } - var defaultRound = await _dutyTimeRepository.GetDefaultAsync(); if (defaultRound == null) { diff --git a/BMA.EHR.Leave/Program.cs b/BMA.EHR.Leave/Program.cs index 9d42133e..3dd83203 100644 --- a/BMA.EHR.Leave/Program.cs +++ b/BMA.EHR.Leave/Program.cs @@ -198,12 +198,20 @@ if (manager != null) // āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ CheckIn Job Status āļ—āļĩāđˆāđ€āļāđˆāļēāļāļ§āđˆāļē 30 āļ§āļąāļ™ - āļĢāļąāļ™āļ—āļļāļāļ§āļąāļ™āđ€āļ§āļĨāļē 02:00 āļ™. manager.AddOrUpdate("āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ CheckIn Job Status", Job.FromExpression(x => x.CleanupOldJobsAsync(30)), "0 2 * * *", bangkokTimeZone); - manager.AddOrUpdate("āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāļ–āļēāļ™āļ° Pending āļŦāļĢāļ·āļ­ Processing", Job.FromExpression(x => x.ProcessPendingJobsAsync()), "0 3 * * *", - new RecurringJobOptions - { - TimeZone = bangkokTimeZone, - QueueName = "leave" // ← āļāļģāļŦāļ™āļ” queue - }); + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ° mark āļ‡āļēāļ™ CheckIn āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™ 30 āļ™āļēāļ—āļĩāđ€āļ›āđ‡āļ™ FAILED - āļĢāļąāļ™āļ—āļļāļ 15 āļ™āļēāļ—āļĩ + // manager.AddOrUpdate("āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‡āļēāļ™ CheckIn āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™āđ€āļ§āļĨāļē", Job.FromExpression(x => x.MarkStaleJobsAsFailedAsync(30)), "*/15 * * * *", + // new RecurringJobOptions + // { + // TimeZone = bangkokTimeZone, + // QueueName = "leave" + // }); + // + // manager.AddOrUpdate("āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‡āļēāļ™āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāļ–āļēāļ™āļ° Pending āļŦāļĢāļ·āļ­ Processing", Job.FromExpression(x => x.ProcessPendingJobsAsync()), "0 3 * * *", + // new RecurringJobOptions + // { + // TimeZone = bangkokTimeZone, + // QueueName = "leave" // ← āļāļģāļŦāļ™āļ” queue + // }); } // apply migrations diff --git a/BMA.EHR.Leave/wwwroot/blank.jpeg b/BMA.EHR.Leave/wwwroot/blank.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2b1534867e1760d14dc68afb6a70ab3939470ad3 GIT binary patch literal 16428 zcmb8Wc_5T)_&0vfFtVgnO0u3#F_k#vSTY!uN|GsU%GQynELpOSnW;{62%X53iJ4N; zQPxCuIm}^VknBv;n1(FF*k+jFy{GT*_j~{Nz5l$AKjv{i%Y8rheJ!8sb6xjp@9I~e za_q3fVSqpYfPjBsbpZScWROVt|9z~1hx{6OdFk)};ZTHa@(KzHYt|?$E6OXwb9sb} ztgIYLZjGEAd=Os!zdly$zy^6_fh>?gYzN2<2$>Ct)qjDObeKpPgmkd~&w)U$LCML> z$ST0gjw;g22!zZUdAT)fWMokAgOD3!WH1}o?Ix!}ZvFl2*8_jtepn>0 zdeG&0as58;(2t$$={u<%rr9Ms4qZ-b*aBa+1@`j4yZPB00x50Z@c(OvW9tWNWnkYM zWHta>u#&RifRJ%`xptGI@#aGvFMAcTiz^+moeM7SDmPf^rQOaj1y@bq^=@-A{Ooo9 zs?)8$6D<_kj_fOSf5+@9d8d?p`12ozN#J$%F{EGTgH4V!*^ZY8)2moVWfQEE;T^AV zr=9<$sU1#z7f$MUQ5r6nWRO#DTAenzlUAKt+~{R+_a4sYMd!vlhArVIIxi??JD^c< zsa^(&IeQT4sfRn;-Hm+Wdb}!3(|Wi0^m)nb)k?SWXg4Gu5BFEUYNgkWb29j=6m|(Z zuR7RS>H7p=_4Z_6Mc@7R@1wh~hUwME==+#e!t3rxzlpSW%G<0CJ=gb%(QC$bhM)6# z{j!6$>2R8CN8bgCjH9s=MdolK4tYq|q@&M?g6eqD=l6>)GA&oB2&f-xvEU^iMGCjb;mfjo^w zyM+aa&2|Vo6c%1YAy5xw0emCyS5?-94REX*>_9s_L6WxrN0GL`ZlDnVzdz6HuIY$^&`WN&`T5 zx2g;lC<4EC@SQS;cDPI5{0;z;A`%Vc6-fZ((&Uoh-6(LI1UBA7(hxFOMHOHM^y&Zt z3lJz-8tfA6weJU&_6UIL1n;l_$om5{ngkF|q%9P<2Jorkc3B((hf+adWxN1TB%w)i zbFIqz7dB28Vi6a__%#Tb02{DQyGLc=*te6mj{>MK@V1S)^8ZL*tJl@LJ^um9 z9mj{&P5r^XCFLjV|gPmqffEB&IB1&0GlfChPNzCy4j7(ykAed^TUZ zq=|VFV;G^S&o(^MaMR<-hk|xChd$|6QY)wnD9Wx#ITjl*Jwjh!)EF=RykCr|A zoX6Bw_R_`W*dU3K56?|J_M;%hg-M(bT?LLhd$?0XzNmIF%J#>a?B!jrp6ZjMRzc18 zRWQU{c{Q-!vf>H5E0ig5TLnG3(L4Os8QCli;`e8H4wrLR{I4(Gh(0;)n__4gTVrU; zOSWha+7w{_IogLubxuq)iodQT79@MWm}_k$P}k_$h)w85Een2T=pPcb7sH9RlQC+2 zjJWf}#B=LstkxXiuCqC@f|+h3G`SdY{cI1Q0a}-)>yJ={^3z@++j$RwV{k^1qq1Az zbgSSHPDnd{gfa|J~&t1 zkoC&OJl<$s*D&7me&!p3=;mZZ7WtosRP}UqPL_FtfdNBfv9&H1i&O*&$X&S2GG2bF zn~rS*^0H3j^nF?kSEEavJLf^)Gd^OL= z+=YCdVwGMw(-aZRSqRQ##SSf&7lvq`6RZOBlki%q!SdqHDY{O{eNo9YK@q&y1t$>) zNb-d!2khzRIOFWC|EbyoUF1CkP^KYkgC16uFzU(I6H^V03QA%M`kTaqHA3-4Y(S8i z#E5e<YGZ6@4Oiq;=QlIAoQcqC+UgfBGa?7@p}YcU_=&G z;49rM2LqN|=$bX%<`rVR-RNj#81eV&-NB*P*Il)U!kE`~_)fP-lnD8;tWtLlHm*+j zp1&&CPE*vC`xl2mqrr3BW;39HMFCapNhR#NUJ?z9uv2xq4Lt+EB5(lOcc?5I6Obri z590n(MnXRWfW4`o@-{VWf}iYOxMYdhSR{!Au%IIwoA@kDem4%t1T}K0duPIg9w*$s zTP#&a`NTf<<~$Nw=wM=XXXc98$sa5w=N)HnunN+bs(ag(r)I7e>=F5zNzFla8~qRK7{pM#=G*>iN%?eQ}$P`L#pC3#9>U zx_({7tUAY3&izHH>Zao_9k#TeH||55v_q>b4-$YMKs+MRPxO2zzc36WpZDyXUIh_B zgng3XbFtJCLQwq|5WVj|o8TMs7U9BTR(I2)@7RIm?kv7H5i1-v#ply4m zCDKi-pBK@PGP~Gm+Y(;BAOD8KfBLkfLJ$-DQP^fnyvbn4%ny>v_5{2i2pD=lHGmH& zs~MOyJ?K?v57*SY(C4sTeRy2mPBVYf&fuEUv(!8Bl{OBwuT$EXLf?4$o?l;!96PUg zXktQQOhzhewLf)<1J)4WQMQ(l9_hVMoGR+h9v5?eSlUp{q8Gelwu*m`D_fjwWD$w< zDvdkjwke8^w!h6Jcg58+LnP^Ro-`VwHxs$nZp-*P+g5n;jac+%=%)CMyc9=ryqRrv zKV970M3W6#M`_WFl4u_{S+?{hep&MOgI+5mL`#h<60XD>hQ#ch^cGtN5)PEvyItTn z*F2of94z;Ky13&iL1cr)fsyXe@ z1Rv~Gx)vPxT7#26qB}M+;$P9F| z>b8tED31_v=~Mjj#qr8=jk{ZC1fO0oGz>~Y7$1D5imIjdbkd#ecuZzqScbX~! zbX`QfSOIipNAh<>x!$ZFqW1Vl*X5LS+lDui|tAI7Uz3$>6#36*sm3Fl&bqc5I z?U+%Um>vWzCvlF>Ih$qu3Eo_hFoGF+Nu<7tDW`jTvr-@G6JJ-SjiJRU!Wv)9oWFXR{#>PC3rCBt;VDsLlKz)38l+)(3Gu`!a zahnLPC3EYncIJ2okJ@v)P20cLE~vF-6?g~LE?16I^EgAp%AaoF z?+~h39O6Z=dcPd+vU<^A*z>k*SmFLpfiGMojF%!i61xMwRvV6Ekv^35-%*hipU>- zI(L^xo%gV5Q=1b%T(BMDu%isbMXaRd-(T#7UJWWf|NZcC(0f*-ac8c)T%Ah0QZ{z8 zq2u`p#q|7kcl!OYE8a^G?|wa=RtS^SW!+9GS0p0~@U zI?h)3c?KDezxdQc-G@!qmsrG91r_xE_-i-Guk%0oU0AFXWkc_wOZx?EIrqoxIp*4> zm_A0-4VGqXB%xcIA84cYC6Ckn<4*Kk^;t{KzK@@ZS^{0!zAF*egf?%Fe1DZ`{)%xf zB5}{`%u?AnhoALfJgKOGVUlX#U$V>4EYkG~m$dZE8!fL2`dzRU%2G3nQqkDgkwV?y zjompJ#kqGpCv&oIRpEv;SP= z##Dcf=o-0T+v%K1?2fA3>e)U$kZkj5cAAm8;uiav_-0)xH)xM9lR-7wIqW*bx}4ge zN%U18(#gPl)eglAI--;<+C3x4&9VFU_N*!Pn5`0V+1eks~q7xyoe8NXwa-) zh}Bs1yjU{f;)T2#26FyHZ3vg&jl8ftrxlKOzj&w~oXIa;HiwZUjM!J zsl~jTg@7}JxBP8pBELR3-w680+>oeNk2pwP%)D>`Qhx9Z_#>@Fib-!f>HoBqkz=9RXW{M z+<^lqv%9GN3;w+tDk!LZP86&=#fgSa0BE_6neqKqk#Hfb-rQ*7K3ed;KeP(IY8~v1 z&m{iRAUN+HGV5rLx$$k9VRVx*%2+6P{gSg7RnHx)NcI;M&$NmA=5J*7dfT+wX7S$& zccOaZ>i$Vk)Kz-X@(<3t1|cZPK({ z5OZj(NU|-;JJP5A5x;@QUNEViT@2w1eWuog;ZVvn4fmXO)qZ~@8mk(2%O{}V(8|s5 z>1wkG-c0LE(0q9rD`h2X`PG+_AEnx?>}G-sGd^{ln^iHV#m9Oj&!}=&p!txW^_~!& z#Q%oRHc%7cwHcl&J66aws9iIG+JHTc2nQNJttM7g34&`MvjAv8`wAgdf!wUB zOo49tpcnL)sNGu-_PHPz0pTbl=pfd5u;~~HM)=ThO2cvlXy2@cMdpy&!SB=@9gBJ6 zvEXXa^;C-IS$Fo`W!DqKwO3*;suhd}a~f=pPZc$2WO*u>i-fU!OVPy^*U%6_2ygC# z$p^fCoCP!7qWQj1X8OMt!z5$|*t=Hs1*8HX3~Wba9|M2{ zh`G&l`a#!L4lGDBBt_@v4Qq&^DLIlxZ^=>E>iF*00;oF1F0 z7L&P_wrn=RU+9xnFtyxIRx{?srx%>;5(o$d*VyzaPD3PHd@8)g^4tahX(CcCbbv{Q zq@xvJM;PB>=t_B{aHUp{-^Zb>0<-fg>%MkprS7kuWv6s;sLA0huI~Q3_ui98h@8lx zof{tOo@%o4y{>%Q0DGnvAa5&exubf4q_O?>)ib7Ycd-}fJ_wd%%Y5eGAVD0Z&$6;4 z8o2WV&WtX;o|v~_o{jWP;r3Ix0Rh0TU5N&6(PZH#?TAY!oo$^n=kgaa&CU%l8bv3L z`*O)MzbBtr65r+ems^&9D4Kz2!M99j?Tln1fEsD7ceEis!$@mx-w zY_FnT7fPAr?{qt-HK+a%PAe3ehnj;gMq1o`vdV8PyHSRg3!iv?=9!- zgo&u0t!p3P>~N~!*S$qh(p6P(o1Av>)~te)%vGR67SC61^K5hby=#`a*vD$(OYEBD zNThl7(mcaSkv90i-4aFkIwh(pWq7Fw%un3l7hy}U-lTP zO9g%_9IKRsCNlZ)$FmOqox8TqqC( zMt&irM4#w!Nm_dBOXl`bTTAWKuyRRgx!XUPY`I5>%cg!vv$AJIbWjR4VI?2ZD$`7j zWY4TkGuPrH=Ipu`qVrPnQsXTbIl(Q&-O8<487%Fg;ceI%1z87qY$*s=QGtB#f!lu2 zwaUW~O&5yyb2u3g4AS&SD6DkuR8*l;$^{pIVqE%&gT&qZg$?L!uY{3&fmF^3dYOQ4)G#u|{_B6SB-k{S0w$<>z~|F3qf+pJzCD|4HsbiKu5f z-T4FK_TS(%v@KFv<@_&&iW-PkQPP)%{cTyxQCHL!7vq=8%?Gl7SgEtAT_X*)>=w_t zH96M~y9!x}D(13;7e?DZVT7eXzRv3E+_Y^DL^k3$pXOt8s^&apA@w8=|7?;HErm$)`y&68s8q+9V)AGEGMK}#uQr#avH z`Cf(7vbSl9*bP`ECz3o(;f(3p-TyHh@BMC0B^(nOX7AB&#Hghd)OHQPe#;L~!VoX*Hd{)7^z9vyoa}DKH?UY5W!H!jMWCxI@Ip9dr zNH`h*c6OTq5>60ofkuLahH#k%R1hb<^zH(ueAt0K4tApoC$0mMLfc8d&O}96-w0*- zt}$8#Df&~vS)s(ap(EmTo&sDHJ*7V54=B&@ z-z%uuZG+{Kfu-|=$>~K`et^WH)bLPJZp zkPL>#l~Y0n#v8JNK#tVwkAN5fXAjNUX3+7x4mzfc%MQXt2mPe7kFj4zFhhdhd0cvO ztk%K@qc0yLC5xlX*g%4z<&KBf9ClE?&QsWux6c8AYO@F4jdE$ zunl*VCXYt$(Yl=hAjrt6|3#HFr}M-zD0{5-D@PRYsod6Be-&hptpc_)&+Y3*m?nUO zAnDa1NuW?Z<2)q$j{&(fXrvFcAkoO5tf5pAAsGrY0&t#HRaCJsRRAD0gFOj!5*bx7 zUwK)>>s(jCK=U$`$i&jP(D6%Iw#jBPpB{URHqVan!-PjVNx7BaUZHvbwAx$a>SVCH zo*}|7kW>|A^LB%=6+%>=;NfgAv(wv#u#cXqFrM0zwU1viklS4uL`iiQ@xKSY<*_qa zj;RVi7I^m;q6Jy`%aiS48E^i$E#(4F;~*V}#L0L8v?57mYx`w>mRD3ByDP+*xXyeP zH2aE(I^OqZjXsSte2olxR4bc2wJ+L^WL1t&XT5KyuL2uwCJDU*g+j_BJK?J5CV(Pn zZcfFKWP7cZzMtJTx)da|Sc#pwazyKUkB)E77_a0`qWIwl6`UDLg_a96c5Cg~lM`QCP@vt?a8FX(X=rfL(5swx(6R)L%CdhciFSr03CPiuUFXZe_$bjGB_ zP14sqE_uzGk$YK4pzaQ{oaXh8G;v}*KD{c_V5cq8xlceL34IkJ0lPw(W00{vZ#-#x z#Qw9?;jayJ^;EFUTyT!F0mWm zh;BAFbM%w962FjZ7M)MeSGto#-gN!2sfP|brXNNgEjB?&{Uwa}6G&*7PQ0dzF7h*O z2N~YYY{KT$IgxqJq#&3*FN&OAF_~ULjAKp0{ zeQI>sIxu3KO{WTD%*FZ7`#dr#jHsUl5`RkzK3ysKJmg>N-(r3D$hTp)PCoiWu1;2& zqzX9;)!yxQWo59Bt{74EcceyCIBNvHSRNv_Xg{bRST_e5dbC-G6U6*hvDIm<^byhE zV9-Mh=i3ismbUxsn0HJ`(=xAwWxnS@|9VDGlEYr~y*SUan zE5;qet`+{CH@rSZgVEhD!uOiK#&QWi_WKuBKP@WfTDv-VGQaRI^#$1!JmZXHW*s+f zBXkYds5N=sP0r(b9?^7-nDHfRE%?mN2&0RsNhjaB1lIRN{nf>0Cu33v=;{1vt}#P! zW9Ufghu@YUobPXH7LH?uYp%tdt=n))fISntpOA`KNmln+2rd&H+1D=myNkD!sxUdi zC=oevMKZU_3v{$vJ_VEa;CE2UrZOi}Mrsc~4Xq_VNQi z`5|hmY3kmd4xaiP0hMeaG@car7-wyalyVK20P%y6-}mH+Y&&h8sp0PVdwzUq4z6Kl zCRI~w9QgT-4NNHq#?W8~7c&;yxH`CZKV<@OfC4=Ph-;K}C;dvDBX%w?A>C3ZH~D*7h_Ap&`vB5A82RKCsjP z#w9RAkGy}aeODon+F4l?WKXt}UcZD82)h|*nRhbn21chmY7CF>Th5y6ZUI8610H=^2apIet#LG8bC7mt#j!(bl^xit+K{p39Eyq&7IrQ#J?q8mID zq-`C-W8Yk1YVaBJ1(iBYGNrSj-uFNFT(MwkJbLI{Q$b9R-7&+diVPMxvIiL7XC$A; ze1r}&Va~gwLMd7NR4a0c`cRzBL~!P3PDJdyNDnJnIV0d1SxfZ7nP>M^DolTjh+T{r z=GZu8%AU|ZURYvaQtpE>Y5KveAsSt*7FCXIil*mg%)<~bg3qzy(Y2UiVdpRG!H0<- zbM?-1O`3#mkg1tTb%?TJ;H%8>u7g4OC&VGk=Z821;gt6AIjZ3+8!hSphfmdr@1$1x zSq+~_oQbk+5#vknQJkj|3d_b~$j7MZ$mA2mi#It2mAc}p8b=OeEO>^yP(EGTW@Fx( zpRo!qHHbG7_u58>-xAtFDt@fC{M+(0Syc0saP%8}bSBt);YJg&MG~8HVGUy|<9NP- z$-nBK$nQi8RLUDcvSw%$FL~3zqtunfsWnq49Cp0#+cES0hjUVO+as=ygE(?A*gMLo zn-O_Q=t(8BwQO5fLS{o*oxV4Je8dmxPce0pFVZH5Z!8_8D|71ekJnT~`p-riCIxo! z-^O&$e-Lm(M_PD~=2@o~9N7049kzGxKXl2Mz|<36B**bnFhvW^gn;GqEDD*W^Y~;T zK7MSsyEikrHYhoeu%NwfF=9HxLz+j{?p8luR8tkmlhmkHKd0u=1O@t=CxdyxHGHKh zhQ@42);KCiIr+)R`lIE(Z=&YuHAZ_g#ZODr7b1&RK^~@7jvB4@iK&k#JJiQjuAJ~C_m7AcMRzhz z;{ZwiXG#tS9$-%@B8s6}{6%v)fE>lbG9Q4(L0yo!atnt&seF4(RrZXj{Bs~zx4}-H zwmktUB|ea7nO&(&54>p4NOTQ;N4L3Eb9~>3XmIywKwK5{!HidwX z;CF{k%az==Cy{_*9m)yN{U5j6sd+J->5%pfp5_cdgJkVOHz+94#0QA86J{yQwfm#` zGMMRY6V~UKjdo^j8sfwb@4dt|+9e3}85n8dlG!_;{V=A2keXo87=u|A%+gW&Lgx7_ z2(oOiMBv@S|6m*@=^{!Gz|xe|;{P73Gk8;(&X^>ho5`FaHrK@5#6(N<1D((9ctT99 zw4Jd)$<>WY(2@98YOFZVu{4Nf_cV;H&#AHWjqm^1C*<^BdrLEy(+;2OX`rSo7Wj%g zZG@tTIALfoaq7}4a5=t3CX~yaQs=Zb+Rp#B3SJACZNnLnvon&u@LI`pctS^+|GEI+|z5ZYEox-St%&b?|%}+U5ZJ5iojWMo- zE&CxGbZ$@8+m_{!vOU6~JQXJcX$1lF^)yFK7G)(|Ft>PWK`6mTdGM3f=t?3_@4GZ} z=f5$vjm(tm$&1XFNl?h|FA%z>@*SQp8I~Agaw2_#TOwUKi%V}7J-)ZXoP~eXd|Y$` zxsRQq-^;oyNzu7d-&c8tuVpX~YTZ8)<-qD8VM6w~vB$oNPZ0;s6CzAWO1Hu@WaqymPqU z<_E3L$5z>d>pbll=62(v;x_li{t~r*WPiSc{-=@Jz465-90Sj)8qPoa{6D;~9;#FQvMC$lwAw4?YX^{p{t ziw{NxeR1JSlJng0>6*9k_)~{yx#*oRWv=9{$qZMH#aeE5u*z^_^c_6(RHJ5 zOSYP~%B{6TY9sqkSY9a}VVM!HTVIRqJ?>p>v~s$QQ$)9*c(6 z5U}n|6$`x~^n?eo07-)-C^(=C{M?~E0Hw%wGZ>=5Vh`jb8c}*r=0)@cfm%!0ELpuu zXfo*;@QqPv%dUR9vPtjpz~`q`p}T@%E;xzYWAKHFj~Zwr{^CKQrX~ozBknE@Mn$lR z>&E$y)@;i~=lUbeKtOlZ>}<)1@x&z-BW(&+EhI@|tZUx*vVQPKFdV^@we9A%MJ^$5 z>yn^N82h=2<=bSs=<Ns5?ALw27M^P8p{hm zgi}RtK{+9=2S#fNbbJ$SvUjlDv7(3o+D6{x#-~sC|ZnKpRa=)V{}J{bX0q za0>>3mtA3)qKz?bP=MJNZ|GTa@9?i_Ks`|e@;GSMAr0Dj6)R7AfmOR&2$}Sk9Y7X= zgI@;}6Vf1|wN3UE#Kj6QzK7NT%E)$-3fO@-^`KW{BMuhoK&ok7;+SV^?IZS6A(L7^ zSIQx8uC)>xF@@ooqvZ^PV%IBgYPNW)$98F7{;X!pE2EHK{xE4+#?%m%7uc~E7uXSZ zg^uIN$abffFTEca`7>e8wBq5#fa!-31B-`}AC2j>t!vx&s%eos`ysZMkgro6!>@4m z+h34r<6eDaFQevCO6#|#rJ|*th2ojouz8D{{kjGRay6V_;DDBw1qRrYkkm?(J&o#@ zt5ZQKfGtq|OeS)6Z$JNtqO6FZL0m@jx0emE!3x^kZ4EK0H4x}_e-twB&twTXb22eu zLx(Ln$&o|Hx=+SmRIP?T1N>cZ>{Bp3ndor;vzkW!4;Ex*9!!AX@0Ku!{3%`|1HmZ_?A z!WdA>$AI(l_NMSLU7Ye=(zwk7OwUSb{gr)lRWZzj<-nQ#v5TKrsf?u_Rne0^%NNrP4~4!{bX(67qtd}`tH3{JSBl2ipKHDg;?JaL ztB3f^1vhaC{L_mAgPra~SF&DIi0@oU*`BEdhpE(xm~5};6N2|Snj3{Hsi|zMLOQ>a zvFPoN`$JyI&TBhK7VJ7{r>p@`?XZFag@B&|mrNDrJ$C$x36?o9vB9kI8l+Tdf09o7 z_F?V36ke+6cu=X*#7kf?RGS)xA?Ie4PRl+@;=1F+3xUkMw5gWZFE6rdqKyUb^YQAD zK1;`~`%X;oSicj)m+e@4xSrVto*E>Zs4K%+iQ=A>f`);%>y(V+#jIpag2knop0<{l z!0HosM;V_gnGC^T>Kw*3(2?ETj4@v1q;xW-vMPp(bs3kPc9U?BCP72eO=Yumws8lK z!8$3Z9C5c)VWsW{EY?g)0>Z--4cVeiUWSl&Qnl~ZknP{`#f(v&zCc5HAx z4CJ#$=bSTbf-ZfzF>Fv-(8*yov8n$o&(x?py9tkwt9OL*I%h&>cvhIyxeJTDA(#c` zR2mhY{YS8vZgY{6n))T((|qE@1aX%U%Z+$-wlR&waD09MplAxEy$Wz}u&@}`*t|m> z^pd+v^4sa-b>IF?`0kum5>RAlK5l%VzO&iqlHV<-oJKP&BFmWc>v+yKCyIQof11mc z4n(*l%TbW@ZKUC0Bs-1a(T53^jD1+F)r>o>vAE6^CURIX@(OzI`axvrX@(zWzWz>6 zT<=M6jr{am#-uMnd((h_R@uS1>)pK8#`rBJ+$>9Rx<%V^1S_74kL~H5w|%^F&AT%= zJO&n;R()Uw<*g0+(m;$In!l4SAU-T)a~cwpudg+pUH$r3y|XaJ_PMw5C$xD=ksoZfz|PMA8++Lk#hbc8Qy_x z2!unI3YC>~HyV%BilA)OeqZ`;j!Cn%BkK2#FAdrd!`=1eLTgic_9wgfPmRpaunQOKl)OC=+TH)!?=(|H zfdh?jgtvDCh`|)3xlc2g8C3JiKqbKR9IW*~&;SbCi&9j&2C)HbGL@&vCGGOsk*KT- zp#?0WbO#x@_Knh_UQ=3z={u4iP=SghZ9Zw2u734JEGAkx^EBh_XkqGW3WFMl@9S!| znr-;9|F3bfEfdj%_}AYkIGI-YlfiNxdgMm$J8Vmt8 z9=@QfN5(3sBIH3_TDuND@4cj_(A`(r|#5wgo<8uh2i^d+{BzqOw~EVr(=c z>E=T>eNy9#_yrho%UIR3hREnFo35D#3?ay9i|55e>x)UO`^6mc-Sl&RSMQEi|55cM zFuF>zx7IwjL1WgOono_(xRX5T`2;5TV|05e4{N=@h%j(H`l|-2)6Vr+nwhS@8F~k8 zH&DEKS=Q&5?f1eTPd>U-Shw!KT%*hFFt2|)tyjY=oaE|yb#}n8J?@bi&A+ASgE8ZQ z&e0Kk{D^koEAl$+b(jxPp%wJCdXozSc;luM%jsvm^^=l`9R<&a^IGs3>?U@-;fLs~ zv>Qzwx1Dhqz6%sgK3sq8OJcP*sBq$DhwldFTv z)Qf}u3n*dx4cpcJfEou>%_uNNG6nWP#>@XNm~>SnDW;*N+X294Wf;>#Tm?W8ET99j zkmpQPk@1o?D8lU{y&xe2hk*GPvj$3nPZE8X34IqdbT7)eNmJ!qqnqSD*Nin;)o7yq zMCgZ5k=Z8`KEp88N?-dNOnLH%eFKu=a89jK{GGNMoWRp)y`G!fVAM>=rJGrrj|W4V zmbvquXDH+^L7_`JuiR#PI(QD;wN_f^R9l*TbqsCIDTzdv)U(YsD{U?YL514N9XWk- zcO+WTZ7HSA^))50DAoCx-)&eF zjY^2Dgokg`ogTO=KKaczXWLpg*P4+0`iF(Eh6ZjfGKDE!M2T14cDEOqlGbOV%k692 zd%{E8h-bc5l#r-B1bnIfIt}s z^NfF?WZNr%JR?nzusFq< zzfx5H#&Yk1z$x64NC;wSO|MC=T3kuC!Hq6bH8XwJvY21fLp~9MZV$j(I5xL=TQP^_ zoA2%#^9BY(G2AT1tGPeUotmgn=+gFsiq*i;zu;WL#LmiA&6i%L&9Pe zs94&>TCv1Z!lDJgS9_F0U#H)h0v zZsY~K=Tpk5-;L&C1o0Q&Ol^9}uI-;U`IK)nY@?okTr!mZZ|#N1YTNJ5&-nUt+Zge8 zG)2A(;wA2PAtxj=%T|I3j&QWg$JEU!w})vxUDoNgocSUmJU^aq853E)60co-j^|@j zI^%!+VZc43t7t^FV>UM7)NPnfsU7cb;t>GV}Uxa9D4$~pBem$1?_pBYTuVa;|X zK%fEdCn4mKuM9Ws3T`=GRB{fgd*4L)5W~9L08xM+nUfjGe-*J*H8xvY(CPU%rKXa; z^IO^CuV+Mb$;PN0{*f=xg1^iRNH*(td%vGL`-R#O&(IkPgQ)0wiex7tS!c9}dz~Y3 z(MdTOB(f+znX5Q#Z9aEwyx{YX=;Jm_MhI~wl4x$;4u@gOkLFAAl?hP-&yn?(z1|-A z0^%HQ)EL&LGQWf@=eXfR#TFMumFFHp2eAqsT9o=8N!gpZ{KL{Rs#Y_EIkF1s)~iml zL#m(pFpSPxFw)OWQEF4mMC;r6X-i3X@{!iOrNQDG-izGU8{+p1tW^Bn`g$u22IF=r zy1cxQL;c!h8|0_$IUBLGbKdpZyu0)Iwe#$H6W&Nqt-&iDZFBZO(yQ;RxnO~(Tt43Q zrmM5(8FG;FGU13eQ%mS$lJsQv!mW6RPB#61L&{o<=_ZF{%}7q%#^@Jxb>q~bU&lhc zui--0&Dh-W)^3CDU z^pPMAQ&oFcoug~g*MI5f*>9*`lH9+&P!D8rBxza@^c&W}j@(}YGzGYCA4S>IekoLr ztJ{Eu3ZewJ0OfqX1~-Q)L$U$D<~}qyR;Dq;pT;WYBK(lgXwt#L`ae=T4W@%2p9cxZ zU3RLu@Rgv#R36quLSG8ivO-Fh$zY3-iZHlTp#kJoC&ODPl5Pd~>5vhSiU;j}GFVwP z?2ezRY6_n|nnSY3!l#jNlJ4sA0E%@x}tAED081<77|w0t5~C(&?2i zIqb5JmfDn@3304f!#`syK@oW(iykwvyR-c`HGUNU@zM9Xum%C_#R7R?SSQVs!l5d{ z6?qPwJmeQ}x`=m>==u|w<|a^Fy%F0A37@Xt zB_yZjep&Ps_gb1WDOuj%ss<}4!Ipx+sXLQhH)9J<_wafBL8c|3O#F?Kz z0I2y%Po5)x?hBFbYs!VSHD0g@iVysEBUpm ZG5^idf=6U0Nn Date: Mon, 25 May 2026 16:28:15 +0700 Subject: [PATCH 47/90] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20lo?= =?UTF-8?q?gic=20=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=AA=E0=B9=88=E0=B8=87?= =?UTF-8?q?=E0=B9=84=E0=B8=9F=E0=B8=A5=E0=B9=8C=E0=B8=A0=E0=B8=B2=E0=B8=9E?= =?UTF-8?q?=20#2521?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveController.cs | 21 +++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 78594aef..f04c00ce 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -597,7 +597,7 @@ namespace BMA.EHR.Leave.Service.Controllers LocationName = data.LocationName, Remark = data.Remark, CheckInFileName = data.Img == null ? "no-file" : data.Img.FileName, - //CheckInFileBytes = checkFileBytes, + CheckInFileBytes = checkFileBytes, Token = AccessToken ?? "" }; @@ -614,8 +614,17 @@ namespace BMA.EHR.Leave.Service.Controllers var properties = channel.CreateBasicProperties(); properties.Persistent = true; properties.MessageId = taskId; + + // āļŠāđˆāļ‡āđ„āļ› RabbitMQ + channel.BasicPublish(exchange: "", + routingKey: queue, + basicProperties: properties, + body: body); - // āļšāļąāļ™āļ—āļķāļāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™āļāđˆāļ­āļ™āļŠāđˆāļ‡āđ„āļ› RabbitMQ + // Clear Byte data Before Save to DB + checkData.CheckInFileBytes = new byte[0]; + + // āļšāļąāļ™āļ—āļķāļāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™āļŦāļĨāļąāļ‡āļŠāđˆāļ‡āđ„āļ› RabbitMQ jobStatus = new CheckInJobStatus { TaskId = Guid.Parse(taskId), @@ -627,13 +636,7 @@ namespace BMA.EHR.Leave.Service.Controllers AdditionalData = JsonConvert.SerializeObject(checkData) }; await _checkInJobStatusRepository.AddAsync(jobStatus); - - // āļŠāđˆāļ‡āđ„āļ› RabbitMQ - channel.BasicPublish(exchange: "", - routingKey: queue, - basicProperties: properties, - body: body); - + return Success(new { date = currentDate, taskId = taskId, keycloakId = userId }); } catch (Exception ex) From e96f606c85f3082a596d70b27c9f3430a92439ac Mon Sep 17 00:00:00 2001 From: Adisak Date: Mon, 25 May 2026 17:20:07 +0700 Subject: [PATCH 48/90] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20format=20?= =?UTF-8?q?=E0=B8=9F=E0=B8=B4=E0=B8=A7=20posMasterNo=20(5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementAppointmentController.cs | 2 +- .../Controllers/PlacementOfficerController.cs | 2 +- .../Controllers/PlacementRepatriationController.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index ff010a2a..df4be162 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -554,7 +554,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementAppointment.positionAreaOld = org.result.positionArea; placementAppointment.PositionLevelOld = org.result.posLevelName; placementAppointment.PositionTypeOld = org.result.posTypeName; - placementAppointment.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementAppointment.PositionNumberOld = org.result.posNo; placementAppointment.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index e05f03f3..867935e9 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -493,7 +493,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementOfficer.positionAreaOld = org.result.positionArea; placementOfficer.PositionLevelOld = org.result.posLevelName; placementOfficer.PositionTypeOld = org.result.posTypeName; - placementOfficer.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementOfficer.PositionNumberOld = org.result.posNo; placementOfficer.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index 26da4786..e9c45532 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -374,7 +374,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementRepatriation.positionAreaOld = org.result.positionArea; placementRepatriation.PositionLevelOld = org.result.posLevelName; placementRepatriation.PositionTypeOld = org.result.posTypeName; - placementRepatriation.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementRepatriation.PositionNumberOld = org.result.posNo; placementRepatriation.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + From f50ad38503b1440cd6ed3797b415963428b40d2c Mon Sep 17 00:00:00 2001 From: harid Date: Mon, 25 May 2026 18:08:13 +0700 Subject: [PATCH 49/90] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20log=20api=20candidate/report/excecute?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementController.cs | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index db3e9e86..9daf1b9d 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2198,8 +2198,11 @@ namespace BMA.EHR.Placement.Service.Controllers [HttpPost("candidate/report/excecute")] public async Task> PostReportExecuteCandidate([FromBody] ReportExecuteRequest req) { + Console.WriteLine($"[CandidateReportExcecute] Starting execution at {DateTime.Now}"); + try { + Console.WriteLine($"[CandidateReportExcecute] Request received with {req?.refIds?.Length ?? 0} refIds"); var placementProfile = await _context.PlacementProfiles .Include(x => x.PlacementCertificates) .Include(x => x.PlacementEducations) @@ -2207,8 +2210,15 @@ namespace BMA.EHR.Placement.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); + Console.WriteLine($"[CandidateReportExcecute] Found {placementProfile?.Count ?? 0} placement profiles"); + if (placementProfile == null) + { + Console.Error.WriteLine("[CandidateReportExcecute] PlacementProfile is null - returning NotFound"); return NotFound(); + } + + Console.WriteLine("[CandidateReportExcecute] Building resultData from placement profiles and refIds"); var resultData = (from p in placementProfile join r in req.refIds @@ -2366,6 +2376,9 @@ namespace BMA.EHR.Placement.Service.Controllers }, }).ToList(); + Console.WriteLine($"[CandidateReportExcecute] resultData built successfully with {resultData?.Count ?? 0} records"); + + Console.WriteLine($"[CandidateReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; using (var client = new HttpClient()) { @@ -2377,8 +2390,10 @@ namespace BMA.EHR.Placement.Service.Controllers data = resultData }); var _result = await _res.Content.ReadAsStringAsync(); + Console.WriteLine($"[CandidateReportExcecute] External API response status: {_res.StatusCode}"); if (_res.IsSuccessStatusCode) { + Console.WriteLine("[CandidateReportExcecute] External API call successful - updating placement profiles"); placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; @@ -2392,17 +2407,27 @@ namespace BMA.EHR.Placement.Service.Controllers profile.templateDoc = req.refIds[0].remark; } }); + Console.WriteLine($"[CandidateReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); await _context.SaveChangesAsync(); + Console.WriteLine("[CandidateReportExcecute] Database save completed successfully"); + } + else + { + Console.Error.WriteLine($"[CandidateReportExcecute] External API call failed with status: {_res.StatusCode}"); + Console.Error.WriteLine($"[CandidateReportExcecute] Response content: {_result}"); } } // // update placementstatus // placementProfile.ForEach(profile => profile.PlacementStatus = "DONE"); // await _context.SaveChangesAsync(); + Console.WriteLine($"[CandidateReportExcecute] Process completed successfully at {DateTime.Now}"); return Success(); } - catch + catch (Exception ex) { + Console.Error.WriteLine($"[CandidateReportExcecute] Error occurred: {ex.Message}"); + Console.Error.WriteLine($"[CandidateReportExcecute] Stack trace: {ex.StackTrace}"); throw; } } From 6a38f000babb5c4d83e0c52b1b6cc4ef8111d8c5 Mon Sep 17 00:00:00 2001 From: Adisak Date: Mon, 25 May 2026 18:17:07 +0700 Subject: [PATCH 50/90] #2505 --- .../Controllers/PlacementAppointmentController.cs | 6 ++++++ .../Controllers/PlacementController.cs | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 786222b1..a8c2bd4c 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -1011,7 +1011,9 @@ namespace BMA.EHR.Placement.Service.Controllers positionExecutive = p.PositionExecutive, positionExecutiveField = p.positionExecutiveField, positionArea = p.positionArea, + positionTypeId = p.posTypeId, positionType = p.posTypeName, + positionLevelId = p.posLevelId, positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, @@ -1225,7 +1227,9 @@ namespace BMA.EHR.Placement.Service.Controllers positionExecutive = p.PositionExecutive, positionExecutiveField = p.positionExecutiveField, positionArea = p.positionArea, + positionTypeId = p.posTypeId, positionType = p.posTypeName, + positionLevelId = p.posLevelId, positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, @@ -1856,7 +1860,9 @@ namespace BMA.EHR.Placement.Service.Controllers positionExecutive = p.PositionExecutive, positionExecutiveField = p.positionExecutiveField, positionArea = p.positionArea, + positionTypeId = p.posTypeId, positionType = p.posTypeName, + positionLevelId = p.posLevelId, positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index db3e9e86..85d4def6 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2604,7 +2604,9 @@ namespace BMA.EHR.Placement.Service.Controllers positionExecutive = p.PositionExecutive, positionExecutiveField = p.positionExecutiveField, positionArea = p.positionArea, + positionTypeId = p.posTypeId, positionType = p.posTypeName, + positionLevelId = p.posLevelId, positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, @@ -2847,7 +2849,9 @@ namespace BMA.EHR.Placement.Service.Controllers positionExecutive = p.PositionExecutive, positionExecutiveField = p.positionExecutiveField, positionArea = p.positionArea, + positionTypeId = p.posTypeId, positionType = p.posTypeName, + positionLevelId = p.posLevelId, positionLevel = p.posLevelName, posmasterId = p.posmasterId, positionId = p.positionId, From 3f98e0741994b41004da16ec49bf7f32dd1cc810 Mon Sep 17 00:00:00 2001 From: harid Date: Wed, 27 May 2026 17:40:30 +0700 Subject: [PATCH 51/90] =?UTF-8?q?=E0=B8=9A=E0=B8=B1=E0=B8=99=E0=B8=97?= =?UTF-8?q?=E0=B8=B6=E0=B8=81=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9?= =?UTF-8?q?=E0=B8=A5=20CommandCode=20=E0=B9=83=E0=B8=99=20DisciplineDiscip?= =?UTF-8?q?linary=5FProfileComplaintInvestigates=20#2377?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/DisciplineResultController.cs | 160 +++++++++++++++--- 1 file changed, 136 insertions(+), 24 deletions(-) diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs index 5301a5ae..35a9dfa2 100644 --- a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs +++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs @@ -968,12 +968,20 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command19/report")] - public async Task> PostReportCommand19([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand19([FromBody] ReportPersonAndCommandRequest req) { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -993,7 +1001,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1110,12 +1124,20 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command20/report")] - public async Task> PostReportcommand20([FromBody] ReportPersonRequest req) + public async Task> PostReportcommand20([FromBody] ReportPersonAndCommandRequest req) { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1135,7 +1157,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1602,14 +1630,22 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command27/report")] - public async Task> PostReportCommand27([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand27([FromBody] ReportPersonAndCommandRequest req) { try { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1636,7 +1672,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1730,14 +1772,22 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command28/report")] - public async Task> PostReportCommand28([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand28([FromBody] ReportPersonAndCommandRequest req) { try { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1764,7 +1814,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1858,14 +1914,22 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command29/report")] - public async Task> PostReportCommand29([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand29([FromBody] ReportPersonAndCommandRequest req) { try { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1892,7 +1956,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -1986,14 +2056,22 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command30/report")] - public async Task> PostReportCommand30([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand30([FromBody] ReportPersonAndCommandRequest req) { try { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -2020,7 +2098,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -2114,14 +2198,22 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command31/report")] - public async Task> PostReportCommand31([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand31([FromBody] ReportPersonAndCommandRequest req) { try { var data = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + // data.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + data.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -2148,7 +2240,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) // .Where(x => x.Status.ToUpper() == "REPORT") .ToListAsync(); - data.ForEach(profile => profile.Status = "NEW"); + // data.ForEach(profile => profile.Status = "NEW"); + data.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); } @@ -2242,7 +2340,7 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ [HttpPost("command32/report")] - public async Task> PostReportCommand32([FromBody] ReportPersonRequest req) + public async Task> PostReportCommand32([FromBody] ReportPersonAndCommandRequest req) { try { @@ -2255,7 +2353,15 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Contains(x.Id.ToString())) .ToListAsync(); - data2.ForEach(profile => profile.IsReport = req.status.Trim().ToUpper()); + // data2.ForEach(profile => profile.IsReport = req.status.Trim().ToUpper()); + data2.ForEach(profile => + { + profile.Status = !string.IsNullOrEmpty(req.status) + ? req.status.Trim().ToUpper() : null; + profile.CommandTypeId = !string.IsNullOrEmpty(req.commandTypeId) && Guid.TryParse(req.commandTypeId, out var cmdTypeId) + ? cmdTypeId : null; + profile.CommandCode = req.commandCode ?? null; + }); await _context.SaveChangesAsync(); return Success(); @@ -2290,7 +2396,13 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers // .Where(x => x.IsReport == "REPORT") .ToListAsync(); - data2.ForEach(profile => profile.IsReport = "NEW"); + // data2.ForEach(profile => profile.IsReport = "NEW"); + data2.ForEach(profile => + { + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.CommandCode = null; + }); await _context.SaveChangesAsync(); return Success(); From dc5ac329e2518f6b37294905e8d2529ec5262f32 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 28 May 2026 14:53:32 +0700 Subject: [PATCH 52/90] =?UTF-8?q?API=20=E0=B8=A5=E0=B8=9A=E0=B8=A3?= =?UTF-8?q?=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=89?= =?UTF-8?q?=E0=B8=9E=E0=B8=B2=E0=B8=B0=E0=B8=AA=E0=B8=B4=E0=B8=97=E0=B8=98?= =?UTF-8?q?=E0=B8=B4=E0=B9=8C=20OWNER=20=20#1586?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/UserProfileRepository.cs | 36 ++++++++++++ .../Controllers/LeaveReportController.cs | 4 +- .../Controllers/LeaveRequestController.cs | 39 +++++++++++++ .../Controllers/PlacementReceiveController.cs | 55 +++++++++++++++++++ .../PlacementTransferController.cs | 54 ++++++++++++++++++ .../Controllers/RetirementResignController.cs | 41 ++++++++++++++ .../RetirementResignEmployeeController.cs | 41 ++++++++++++++ 7 files changed, 268 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Application/Repositories/UserProfileRepository.cs b/BMA.EHR.Application/Repositories/UserProfileRepository.cs index 2d9ae7b4..aa89d9b9 100644 --- a/BMA.EHR.Application/Repositories/UserProfileRepository.cs +++ b/BMA.EHR.Application/Repositories/UserProfileRepository.cs @@ -1062,6 +1062,42 @@ namespace BMA.EHR.Application.Repositories } } + public async Task> GetEmployeeByAdminRolev2(string? accessToken, int? node, string? nodeId, string role, string? revisionId, int? reqNode, string? reqNodeId, DateTime? startDate, DateTime? endDate) + { + try + { + var apiPath = $"{_configuration["API"]}/org/dotnet/employee-by-admin-rolev2"; + var apiKey = _configuration["API_KEY"]; + var body = new + { + node = node, + nodeId = nodeId, + role = role, + // isRetirement + reqNode = reqNode, + reqNodeId = reqNodeId, + date = endDate + }; + Console.WriteLine(body); + + var profiles = new List(); + + var apiResult = await PostExternalAPIAsync(apiPath, accessToken, body, apiKey); + if (apiResult != null) + { + var raw = JsonConvert.DeserializeObject(apiResult); + if (raw != null) + return raw.Result; + } + + return new List(); + } + catch + { + throw; + } + } + public async Task SearchProfile(string? citizenId, string? firstName, string? lastName, string accessToken, int page, int pageSize, string? role, string? nodeId, int? node,string? selectedNodeId,int? selectedNode ) { try diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index ec31f89a..abdf5f2b 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -1352,7 +1352,7 @@ namespace BMA.EHR.Leave.Service.Controllers } else { - profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId, req.StartDate.Date, req.EndDate.Date); + profile = await _userProfileRepository.GetEmployeeByAdminRolev2(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId, req.StartDate.Date, req.EndDate.Date); } // get leave day var leaveDays = await _leaveRequestRepository.GetSumApproveLeaveByTypeAndRange(req.StartDate, req.EndDate); @@ -2380,7 +2380,7 @@ namespace BMA.EHR.Leave.Service.Controllers } else { - profile = await _userProfileRepository.GetEmployeeByAdminRole(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId, req.StartDate.Date, req.EndDate.Date); + profile = await _userProfileRepository.GetEmployeeByAdminRolev2(AccessToken, profileAdmin?.Node, nodeId, role, req.revisionId, req.node, req.nodeId, req.StartDate.Date, req.EndDate.Date); } // Child āļāļĢāļ­āļ‡āļ•āļēāļĄāļ—āļĩāđˆ fe āļŠāđˆāļ‡āļĄāļēāļ­āļĩāļāļŠāļąāđ‰āļ™ if ((role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "PARENT" || role == "BROTHER") /*&& req.node > profileAdmin?.Node*/) diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 15d054ce..70b5c8c6 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -2134,6 +2134,45 @@ namespace BMA.EHR.Leave.Service.Controllers return Success(); } + /// + /// API āļĨāļšāļĢāļēāļĒāļāļēāļĢāļāļēāļĢāļĨāļē (ADMIN) + /// + /// + /// + /// āđ€āļĄāļ·āđˆāļ­āļ—āļģāļĢāļēāļĒāļāļēāļĢāļŠāļģāđ€āļĢāđ‡āļˆ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("admin/{id:guid}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> DeleteLeaveRequestForAdminAsync(Guid id) + { + var jsonData = await _permission.GetPermissionWithActingAPIAsync("DELETE", "SYS_LEAVE_LIST"); + if (jsonData!.status != 200) + { + return Error(jsonData.message, StatusCodes.Status403Forbidden); + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē role āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ OWNER āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ + if (jsonData.result.privilege != "OWNER") + { + return Error("āđ„āļĄāđˆāļĄāļĩāļŠāļīāļ—āļ˜āļīāđŒāđƒāļ™āļāļēāļĢāļĨāļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļĨāļē", StatusCodes.Status403Forbidden); + } + + var deleted = await _leaveRequestRepository.GetByIdAsync(id); + if (deleted == null) + return Error(GlobalMessages.DataNotFound); + + // āļŦāđ‰āļēāļĄāļĨāļšāđ€āļ‰āļžāļēāļ°āļŠāļ–āļēāļ™āļ° APPROVE, DELETING, DELETE + if (new[] { "APPROVE", "DELETING", "DELETE" }.Contains(deleted.LeaveStatus)) + { + return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļšāļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļĨāļēāļŠāļ–āļēāļ™āļ°āļ™āļĩāđ‰āđ„āļ”āđ‰"); + } + + await _leaveRequestRepository.DeleteAsync(deleted); + return Success(); + } + /// /// LV2_014 - āļĢāļēāļĒāļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļāļāļēāļĢāļĨāļē (ADMIN) /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index fa647940..0447ff4c 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -923,6 +923,61 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// API āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™ (ADMIN) + /// + /// Id āļĢāļąāļšāđ‚āļ­āļ™ + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("admin/{id:length(36)}")] + public async Task> DeleteForAdminAsync(Guid id) + { + var jsonData = await _permission.GetPermissionWithActingAPIAsync("DELETE", "SYS_TRANSFER_RECEIVE"); + if (jsonData!.status != 200) + { + return Error(jsonData.message, StatusCodes.Status403Forbidden); + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē role āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ OWNER āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ + if (jsonData.result.privilege != "OWNER") + { + return Error("āđ„āļĄāđˆāļĄāļĩāļŠāļīāļ—āļ˜āļīāđŒāđƒāļ™āļāļēāļĢāļĨāļšāļĢāļēāļĒāļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™", StatusCodes.Status403Forbidden); + } + var deleted = await _context.PlacementReceives.AsQueryable() + .Include(x => x.PlacementReceiveDocs) + .ThenInclude(x => x.Document) + .FirstOrDefaultAsync(x => x.Id == id); + if (deleted == null) + return NotFound(); + + // āļŦāđ‰āļēāļĄāļĨāļšāđ€āļ‰āļžāļēāļ°āļŠāļ–āļēāļ™āļ° REPORT, WAITING, DONE + if (new[] { "REPORT", "WAITING", "DONE" }.Contains(deleted.Status)) + { + return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĢāļąāļšāđ‚āļ­āļ™āļŠāļ–āļēāļ™āļ°āļ™āļĩāđ‰āđ„āļ”āđ‰"); + } + + var placementReceiveDocs = new List(); + foreach (var doc in deleted.PlacementReceiveDocs) + { + if (doc.Document != null) + placementReceiveDocs.Add(doc.Document.Id); + } + _context.PlacementReceiveDocs.RemoveRange(deleted.PlacementReceiveDocs); + await _context.SaveChangesAsync(); + _context.PlacementReceives.Remove(deleted); + foreach (var doc in placementReceiveDocs) + { + if (doc != null) + await _documentService.DeleteFileAsync(doc); + } + await _context.SaveChangesAsync(); + + return Success(); + } + + /// /// āļŠāļąāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index b74a6bc5..a8786b51 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -932,6 +932,60 @@ namespace BMA.EHR.Placement.Service.Controllers return Success(); } + /// + /// API āļĨāļšāļĢāļēāļĒāļāļēāļĢāļ„āļģāļ‚āļ­āđ‚āļ­āļ™ (ADMIN) + /// + /// Id āļ„āļģāļ‚āļ­āđ‚āļ­āļ™ + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("admin/{id:length(36)}")] + public async Task> DeleteForAdminAsync(Guid id) + { + var jsonData = await _permission.GetPermissionWithActingAPIAsync("DELETE", "SYS_TRANSFER_REQ"); + if (jsonData!.status != 200) + { + return Error(jsonData.message, StatusCodes.Status403Forbidden); + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē role āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ OWNER āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ + if (jsonData.result.privilege != "OWNER") + { + return Error("āđ„āļĄāđˆāļĄāļĩāļŠāļīāļ—āļ˜āļīāđŒāđƒāļ™āļāļēāļĢāļĨāļšāļĢāļēāļĒāļāļēāļĢāļ„āļģāļ‚āļ­āđ‚āļ­āļ™", StatusCodes.Status403Forbidden); + } + var deleted = await _context.PlacementTransfers.AsQueryable() + .Include(x => x.PlacementTransferDocs) + .ThenInclude(x => x.Document) + .FirstOrDefaultAsync(x => x.Id == id); + if (deleted == null) + return NotFound(); + + // āļŦāđ‰āļēāļĄāļĨāļšāđ€āļ‰āļžāļēāļ°āļŠāļ–āļēāļ™āļ° REPORT, WAITING, DONE + if (new[] { "REPORT", "WAITING", "DONE" }.Contains(deleted.Status)) + { + return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļšāļĢāļēāļĒāļāļēāļĢāļ„āļģāļ‚āļ­āđ‚āļ­āļ™āļŠāļ–āļēāļ™āļ°āļ™āļĩāđ‰āđ„āļ”āđ‰"); + } + + var placementTransferDocs = new List(); + foreach (var doc in deleted.PlacementTransferDocs) + { + if (doc.Document != null) + placementTransferDocs.Add(doc.Document.Id); + } + _context.PlacementTransferDocs.RemoveRange(deleted.PlacementTransferDocs); + await _context.SaveChangesAsync(); + _context.PlacementTransfers.Remove(deleted); + foreach (var doc in placementTransferDocs) + { + if (doc != null) + await _documentService.DeleteFileAsync(doc); + } + await _context.SaveChangesAsync(); + + return Success(); + } + /// /// āļŠāļąāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ /// diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index b3c42f88..b610d350 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1811,6 +1811,47 @@ namespace BMA.EHR.Retirement.Service.Controllers return Success(); } + /// + /// API āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļ (ADMIN) + /// + /// Id āļĨāļēāļ­āļ­āļ + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("admin/{id:length(36)}")] + public async Task> DeleteForAdminAsync(Guid id) + { + var jsonData = await _permission.GetPermissionWithActingAPIAsync("DELETE", "SYS_RESIGN"); + if (jsonData!.status != 200) + { + return Error(jsonData.message, StatusCodes.Status403Forbidden); + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē role āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ OWNER āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ + if (jsonData.result.privilege != "OWNER") + { + return Error("āđ„āļĄāđˆāļĄāļĩāļŠāļīāļ—āļ˜āļīāđŒāđƒāļ™āļāļēāļĢāļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļ", StatusCodes.Status403Forbidden); + } + var deleted = await _context.RetirementResigns.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == id); + if (deleted == null) + return Error(GlobalMessages.RetirementResignNotFound, 404); + + // āļŦāđ‰āļēāļĄāļĨāļšāđ€āļ‰āļžāļēāļ°āļŠāļ–āļēāļ™āļ° REPORT, WAITING, DONE, CANCELING, CANCEL + if (new[] { "REPORT", "WAITING", "DONE", "CANCELING", "CANCEL" }.Contains(deleted.Status)) + { + return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļāļŠāļ–āļēāļ™āļ°āļ™āļĩāđ‰āđ„āļ”āđ‰"); + } + + deleted.Status = "DELETE"; + deleted.LastUpdateFullName = FullName ?? "System Administrator"; + deleted.LastUpdateUserId = UserId ?? ""; + deleted.LastUpdatedAt = DateTime.Now; + await _context.SaveChangesAsync(); + return Success(); + } + /// /// āļ­āļ™āļļāļĄāļąāļ•āļīāļ„āļģāļĨāļēāļ­āļ­āļ /// diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 7db20848..72cd80d1 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1719,6 +1719,47 @@ namespace BMA.EHR.Retirement.Service.Controllers return Success(); } + /// + /// API āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļāļĨāļđāļāļˆāđ‰āļēāļ‡ (ADMIN) + /// + /// Id āļĨāļēāļ­āļ­āļ + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("admin/{id:length(36)}")] + public async Task> DeleteForAdminAsync(Guid id) + { + var jsonData = await _permission.GetPermissionWithActingAPIAsync("DELETE", "SYS_RESIGN_EMP"); + if (jsonData!.status != 200) + { + return Error(jsonData.message, StatusCodes.Status403Forbidden); + } + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē role āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ OWNER āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ + if (jsonData.result.privilege != "OWNER") + { + return Error("āđ„āļĄāđˆāļĄāļĩāļŠāļīāļ—āļ˜āļīāđŒāđƒāļ™āļāļēāļĢāļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļāļĨāļđāļāļˆāđ‰āļēāļ‡", StatusCodes.Status403Forbidden); + } + var deleted = await _context.RetirementResignEmployees.AsQueryable() + .FirstOrDefaultAsync(x => x.Id == id); + if (deleted == null) + return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404); + + // āļŦāđ‰āļēāļĄāļĨāļšāđ€āļ‰āļžāļēāļ°āļŠāļ–āļēāļ™āļ° REPORT, WAITING, DONE, CANCELING, CANCEL + if (new[] { "REPORT", "WAITING", "DONE", "CANCELING", "CANCEL" }.Contains(deleted.Status)) + { + return Error("āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĨāļšāļĢāļēāļĒāļāļēāļĢāļĨāļēāļ­āļ­āļāļĨāļđāļāļˆāđ‰āļēāļ‡āļŠāļ–āļēāļ™āļ°āļ™āļĩāđ‰āđ„āļ”āđ‰"); + } + + deleted.Status = "DELETE"; + deleted.LastUpdateFullName = FullName ?? "System Administrator"; + deleted.LastUpdateUserId = UserId ?? ""; + deleted.LastUpdatedAt = DateTime.Now; + await _context.SaveChangesAsync(); + return Success(); + } + /// /// āļ­āļ™āļļāļĄāļąāļ•āļīāļ„āļģāļĨāļēāļ­āļ­āļ /// From a48f3fa804dc2bfa156396a02d40f3dda054ddd2 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 29 May 2026 10:25:11 +0700 Subject: [PATCH 53/90] fix issue #2534 --- .../CheckInJobStatusRepository.cs | 4 ++- .../Controllers/LeaveRequestController.cs | 2 ++ BMA.EHR.Leave/appsettings.json | 34 +++++++++++-------- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs index 85c575d3..e0967a5c 100644 --- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs @@ -119,10 +119,11 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants /// public async Task> GetStalePendingOrProcessingJobsAsync(int timeoutMinutes = 30) { + //var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes); var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes); var staleJobs = await _dbContext.Set() .Where(x => (x.Status == "PENDING" || x.Status == "PROCESSING") - && x.CreatedDate < cutoffDate) + && x.CreatedDate <= cutoffDate) .OrderBy(x => x.CreatedDate) .ToListAsync(); @@ -135,6 +136,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants public async Task> GetStalePendingOrProcessingJobsByUserAsync(Guid userId, int timeoutMinutes = 30) { var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes); + //var cutoffDate = new DateTime(2026, 5, 28, 23, 59, 59); var staleJobs = await _dbContext.Set() .Where(x => x.KeycloakUserId == userId && (x.Status == "PENDING" || x.Status == "PROCESSING") diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 15d054ce..771895f5 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -3086,6 +3086,7 @@ namespace BMA.EHR.Leave.Service.Controllers leaveBeginningDict.TryGetValue(leaveType.Id, out var leaveData); var approve = leaveData?.LeaveDaysUsed ?? 0; + var approveCount = leaveData?.LeaveCount ?? 0; // fix issue : SIT āļĢāļ°āļšāļšāļšāļąāļ™āļ—āļķāļāļāļēāļĢāļĨāļē>> āļŠāļīāļ—āļ˜āļīāđŒāļāļēāļĢāļĨāļē(āđ‚āļ­āļ™āļŠāļīāļ—āļ˜āļīāđŒāļāļēāļĢāļĨāļē) #974 var extendLeave = 0.0; @@ -3108,6 +3109,7 @@ namespace BMA.EHR.Leave.Service.Controllers LeaveCountApprove = approve, LeaveCountReject = reject, LeaveCountDelete = delete, + LeaveCountApproveCount = approveCount, }; result.Add(data); } diff --git a/BMA.EHR.Leave/appsettings.json b/BMA.EHR.Leave/appsettings.json index 7c098db0..84791566 100644 --- a/BMA.EHR.Leave/appsettings.json +++ b/BMA.EHR.Leave/appsettings.json @@ -23,15 +23,15 @@ "ExamConnection": "Server=192.168.1.63;User ID=root;Password=12345678;Port=3306;Database=hrms_exam;Allow User Variables=True;Convert Zero Datetime=True;Pooling=True;", "LeaveConnection": "Server=192.168.1.63;User ID=root;Password=12345678;Port=3306;Database=hrms_leave;Allow User Variables=True;Convert Zero Datetime=True;Pooling=True;" - // "DefaultConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", - // "ExamConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", - // "LeaveConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=3306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;" +// "DefaultConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=13306;database=hrms;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", +// "ExamConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=13306;database=hrms_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;", +// "LeaveConnection": "server=127.0.0.1;user=root;password=ey2qVVyyqGYw8CyA7h8X72559r2Ad84K;port=13306;database=hrms_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;Connection Timeout=180;" }, "Jwt": { "Key": "j7C9RO_p4nRtuwCH4z9Db_A_6We42tkD_p4lZtDrezc", "Issuer": "https://hrmsbkk-id.case-collection.com/realms/hrms" - // "Key": "xY2VR-EFvvNPsMs39u8ooVBWQL6mPwrNJOh3koJFTgU", - // "Issuer": "https://hrms-id.bangkok.go.th/realms/hrms" +// "Key": "xY2VR-EFvvNPsMs39u8ooVBWQL6mPwrNJOh3koJFTgU", +// "Issuer": "https://hrms-id.bangkok.go.th/realms/hrms" }, "EPPlus": { "ExcelPackage": { @@ -43,6 +43,10 @@ "AccessKey": "iwvzjyjgz0BKtLPmMpPu", "SecretKey": "Yv56vwctYdIspDknRJ46xztcBDzteGF3elZiDcAr", "BucketName": "hrms-fpt" +// "Endpoint": "https://hrms-s3.bangkok.go.th/", +// "AccessKey": "frappet", +// "SecretKey": "FPTadmin2357", +// "BucketName": "bma-ehr-fpt" }, "Protocol": "HTTPS", "Node": { @@ -54,11 +58,11 @@ "Password": "12345678", "Queue": "hrms-checkin-queue-dev", "URL": "http://192.168.1.63:9122/api/queues/%2F/" - // "Host": "172.27.17.68", - // "User": "admin", - // "Password": "admin123456", - // "Queue": "hrms-checkin-queue", - // "URL": "http://172.27.17.68:9122/api/queues/%2F/" +// "Host": "172.27.17.68", +// "User": "admin", +// "Password": "admin123456", +// "Queue": "hrms-checkin-queue", +// "URL": "http://172.27.17.68:9122/api/queues/%2F/" }, "Mail": { "Server": "mail.bangkok.go.th", @@ -72,10 +76,10 @@ "API": "https://hrmsbkk.case-collection.com/api/v1", "APIV2": "https://hrmsbkk.case-collection.com/api/v2", "VITE_URL_MGT": "https://hrmsbkk-mgt.case-collection.com", - // "Domain": "https://hrms-exam.bangkok.go.th", - // "APIPROBATION": "https://hrms.bangkok.go.th/api/v1/probation", - // "API": "https://hrms.bangkok.go.th/api/v1", - // "APIV2": "https://hrms.bangkok.go.th/api/v2", - // "VITE_URL_MGT": "https://hrms-mgt.bangkok.go.th", +// "Domain": "https://hrms.bangkok.go.th", +// "APIPROBATION": "https://hrms.bangkok.go.th/api/v1/probation", +// "API": "https://hrms.bangkok.go.th/api/v1", +// "APIV2": "https://hrms.bangkok.go.th/api/v2", +// "VITE_URL_MGT": "https://hrms-mgt.bangkok.go.th", "API_KEY": "fKRL16yyEgbyTEJdsMw2h64tGSCmkW685PRtM3CygzX1JOSdptT9UJtpgWwKM8FybRTJups3GTFwj27ZRvlPdIkv3XgCoVJaD5LmR06ozuEPvCCRSdp2WFthg08V5xHc56fTPfZLpr1VmXrhd6dvYhHIqKkQUJR02Rlkss11cLRWEQOssEFVA4xdu2J5DIRO1EM5m7wRRvEwcDB4mYRXD9HH52SMq6iYqUWEWsMwLdbk7QW9yYESUEuzMW5gWrb6vIeWZxJV5bTz1PcWUyR7eO9Fyw1F5DiQYc9JgzTC1mW7cv31fEtTtrfbJYKIb5EbWilqIEUKC6A0UKBDDek35ML0006cqRVm0pvdOH6jeq7VQyYrhdXe59dBEyhYGUIfozoVBvW7Up4QBuOMjyPjSqJPlMBKwaseptfrblxQV1AOOivSBpf1ZcQyOZ8JktRtKUDSuXsmG0lsXwFlI3JCeSHdpVdgZWFYcJPegqfrB6KotR02t9AVkpLs1ZWrixwz" } From ad70043264016381685f94bd153938439e8755e8 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 29 May 2026 14:56:16 +0700 Subject: [PATCH 54/90] =?UTF-8?q?=E0=B8=81=E0=B8=A3=E0=B8=AD=E0=B8=87?= =?UTF-8?q?=E0=B8=AA=E0=B8=96=E0=B8=B2=E0=B8=99=E0=B8=B0=E0=B8=82=E0=B8=AD?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B8=9D=E0=B8=B1?= =?UTF-8?q?=E0=B9=88=E0=B8=87=20user=20#1586?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RetirementResignController.cs | 2 +- .../Controllers/RetirementResignEmployeeController.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index b610d350..09f7f08b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -151,7 +151,7 @@ namespace BMA.EHR.Retirement.Service.Controllers return Error("āđ„āļĄāđˆāļžāļšāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļ„āļ™āļ™āļĩāđ‰", 404); var retirementResigns = await _context.RetirementResigns.AsQueryable() - .Where(x => x.profileId == org.result.profileId) + .Where(x => x.Status != "DELETE" && x.profileId == org.result.profileId) .OrderByDescending(x => x.CreatedAt) .Select(p => new { diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 72cd80d1..1b7cef1c 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -89,7 +89,7 @@ namespace BMA.EHR.Retirement.Service.Controllers return Error("āđ„āļĄāđˆāļžāļšāļŦāļ™āđˆāļ§āļĒāļ‡āļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āļ„āļ™āļ™āļĩāđ‰", 404); var retirementResignEmployees = await _context.RetirementResignEmployees.AsQueryable() - .Where(x => x.profileId == org.result.profileId) + .Where(x => x.Status != "DELETE" && x.profileId == org.result.profileId) .OrderByDescending(x => x.CreatedAt) .Select(p => new { From 71a4748d39bc29b1eb9cd6bf2f60520ba88654df Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 29 May 2026 15:32:26 +0700 Subject: [PATCH 55/90] =?UTF-8?q?Job:=20=E0=B8=AD=E0=B8=B1=E0=B8=9E?= =?UTF-8?q?=E0=B9=80=E0=B8=94=E0=B8=97=E0=B8=AA=E0=B8=96=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=E0=B8=B0=E0=B8=9C=E0=B8=B9=E0=B9=89=E0=B8=AA=E0=B8=AD=E0=B8=9A?= =?UTF-8?q?=E0=B8=9C=E0=B9=88=E0=B8=B2=E0=B8=99=E0=B8=97=E0=B8=B5=E0=B9=88?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B9=84=E0=B8=9B?= =?UTF-8?q?=E0=B9=81=E0=B8=A5=E0=B9=89=E0=B8=A7=E0=B9=81=E0=B8=95=E0=B9=88?= =?UTF-8?q?=E0=B8=A2=E0=B8=B1=E0=B8=87=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B8=AA?= =?UTF-8?q?=E0=B9=88=E0=B8=87=E0=B9=84=E0=B8=9B=E0=B8=AD=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=20?= =?UTF-8?q?=E0=B8=97=E0=B8=B3=E0=B8=87=E0=B8=B2=E0=B8=99=E0=B8=97=E0=B8=B8?= =?UTF-8?q?=E0=B8=81=E0=B8=A7=E0=B8=B1=E0=B8=99=E0=B9=80=E0=B8=A7=E0=B8=A5?= =?UTF-8?q?=E0=B8=B2=2005:00=20=E0=B8=99.=20#2518?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/PlacementRepository.cs | 95 ++++++++++++++++++- BMA.EHR.Placement.Service/Program.cs | 3 + 2 files changed, 97 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.Application/Repositories/PlacementRepository.cs b/BMA.EHR.Application/Repositories/PlacementRepository.cs index 49f1175c..82b71b79 100644 --- a/BMA.EHR.Application/Repositories/PlacementRepository.cs +++ b/BMA.EHR.Application/Repositories/PlacementRepository.cs @@ -2,6 +2,9 @@ using BMA.EHR.Domain.Models.Placement; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using System.Net.Http.Headers; +using Newtonsoft.Json; namespace BMA.EHR.Application.Repositories { @@ -11,15 +14,17 @@ namespace BMA.EHR.Application.Repositories private readonly IApplicationDBContext _dbContext; private readonly IHttpContextAccessor _httpContextAccessor; + private readonly IConfiguration _configuration; #endregion #region " Constructor and Destructor " - public PlacementRepository(IApplicationDBContext dbContext, IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor) + public PlacementRepository(IApplicationDBContext dbContext, IHttpContextAccessor httpContextAccessor, IConfiguration configuration) : base(dbContext, httpContextAccessor) { _dbContext = dbContext; _httpContextAccessor = httpContextAccessor; + _configuration = configuration; } #endregion @@ -76,6 +81,94 @@ namespace BMA.EHR.Application.Repositories return data; } + /// + /// Job āļ­āļąāļžāđ€āļ”āļ—āļŠāļ–āļēāļ™āļ°āļœāļđāđ‰āļŠāļ­āļšāļœāđˆāļēāļ™āļ—āļĩāđˆāļĨāļēāļ­āļ­āļāđ„āļ›āđāļĨāđ‰āļ§āđāļ•āđˆāļĒāļąāļ‡āđ„āļĄāđˆāļŠāđˆāļ‡āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ + /// āļ—āļģāļ‡āļēāļ™āļ—āļļāļāļ§āļąāļ™āđ€āļ§āļĨāļē 05:00 āļ™. + /// + public async Task UpdateStatusPlacementProfiles() + { + Console.WriteLine("[Job:UpdateStatusPlacementProfiles] === STARTED ==="); + + var officerProfileIds = await _dbContext.Set() + .Where(p => !string.IsNullOrEmpty(p.profileId) + && p.IsOfficer == true + && p.PlacementStatus != "DONE" + // && p.Id == Guid.Parse("08deb7de-3030-4d1b-8519-8148584949fc") + ) + .Select(p => p.profileId) + .ToListAsync(); + + if (!officerProfileIds.Any()) + { + Console.WriteLine("[Job:UpdateStatusPlacementProfiles] No profiles to process"); + return; + } + + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļžāļšāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāļŠāļ­āļšāļœāđˆāļēāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ” {officerProfileIds.Count} āļ„āļ™ āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāļŠāđˆāļ‡āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + + var apiUrl = $"{_configuration["API"]}/org/dotnet/check-isLeave"; + List leaveProfileIds = new(); + + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + var payload = new + { + profileIds = officerProfileIds.Distinct().ToList() + }; + var jsonPayload = JsonConvert.SerializeObject(payload); + var content = new StringContent(jsonPayload, System.Text.Encoding.UTF8, "application/json"); + + try + { + var response = await client.PostAsync(apiUrl, content); + var result = await response.Content.ReadAsStringAsync(); + var responseObj = JsonConvert.DeserializeAnonymousType(result, new + { + status = 0, + message = "", + result = new List() + }); + + leaveProfileIds = responseObj.result ?? new(); + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļžāļš {leaveProfileIds.Count} āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļĨāļēāļ­āļ­āļ"); + } + catch (Exception ex) + { + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] Call API failed: {ex.Message}"); + return; + } + } + + if (leaveProfileIds.Any()) + { + var batchSize = 500; + var totalUpdated = 0; + var totalBatches = (int)Math.Ceiling((double)leaveProfileIds.Count / batchSize); + + for (int i = 0; i < totalBatches; i++) + { + var batch = leaveProfileIds.Skip(i * batchSize).Take(batchSize).ToList(); + + var profilesToUpdate = await _dbContext.Set() + .Where(p => !string.IsNullOrEmpty(p.profileId) && batch.Contains(p.profileId)) + .ToListAsync(); + + foreach (var profile in profilesToUpdate) + { + profile.IsOfficer = false; + } + + await _dbContext.SaveChangesAsync(); + + totalUpdated += profilesToUpdate.Count; + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] Batch {i + 1}/{totalBatches} → āļ­āļąāļ›āđ€āļ”āļ• {profilesToUpdate.Count} āļĢāļēāļĒāļāļēāļĢ"); + } + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļ­āļąāļ›āđ€āļ”āļ•āļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” {totalUpdated} āļĢāļēāļĒāļāļēāļĢ â†’ IsOfficer = false"); + } + Console.WriteLine("[Job:UpdateStatusPlacementProfiles] === COMPLETED ==="); + } + #endregion } } diff --git a/BMA.EHR.Placement.Service/Program.cs b/BMA.EHR.Placement.Service/Program.cs index f954f343..bd4eb6e8 100644 --- a/BMA.EHR.Placement.Service/Program.cs +++ b/BMA.EHR.Placement.Service/Program.cs @@ -21,6 +21,7 @@ using System.Text; using System.Transactions; using BMA.EHR.Placement.Service.Filters; using BMA.EHR.Application.Repositories.Reports; +using BMA.EHR.Application.Repositories; var builder = WebApplication.CreateBuilder(args); { @@ -164,6 +165,8 @@ var app = builder.Build(); if (manager != null) { manager.AddOrUpdate("āđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āļĢāļ°āļšāļšāļ—āļ”āļĨāļ­āļ‡āļ‡āļēāļ™", Job.FromExpression(x => x.NotifyProbation()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); + // Job: āļ­āļąāļžāđ€āļ”āļ—āļŠāļ–āļēāļ™āļ°āļœāļđāđ‰āļŠāļ­āļšāļœāđˆāļēāļ™āļ—āļĩāđˆāļĨāļēāļ­āļ­āļāđ„āļ›āđāļĨāđ‰āļ§āđāļ•āđˆāļĒāļąāļ‡āđ„āļĄāđˆāļŠāđˆāļ‡āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ āļ—āļģāļ‡āļēāļ™āļ—āļļāļāļ§āļąāļ™āđ€āļ§āļĨāļē 05:00 āļ™. + manager.AddOrUpdate("āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļŊ āļāļ—āļĄ.", Job.FromExpression(x => x.UpdateStatusPlacementProfiles()), Cron.Daily(5), TimeZoneInfo.Local); } // apply migrations From 8ae822d05baace38fa1cc232211d66c9f098b90a Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 29 May 2026 15:46:29 +0700 Subject: [PATCH 56/90] leave report #2524 --- .../Controllers/LeaveReportController.cs | 50 ++++++++++++++++--- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index abdf5f2b..cfc84ef0 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -2444,6 +2444,15 @@ namespace BMA.EHR.Leave.Service.Controllers var workTotal = 0; var seminarTotal = 0; + var wfaTotal = 0; //āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ + var outOfficeTotal = 0; //āļ‚āļ­āļ­āļ™āļļāļāļēāļ•āļīāļīāļīāļ­āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ + var oneStopSrvrTotal = 0; //āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ + var otherTotal = 0; //āļ­āļ·āđˆāļ™āđ† + + + + + var defaultRound = await _dutyTimeRepository.GetDefaultAsync(); if (defaultRound == null) { @@ -2627,10 +2636,18 @@ namespace BMA.EHR.Leave.Service.Controllers workTotal += 1; if (!timeStamps.IsLocationCheckIn) { - if (timeStamps.CheckInLocationName == "āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āļ—āļĩāđˆāļšāđ‰āļēāļ™") + if (timeStamps.CheckInLocationName!.Contains("āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āļ—āļĩāđˆāļšāđ‰āļēāļ™")) wfhTotal += 1; else if (timeStamps.CheckInLocationName == "āđ„āļ›āļ›āļĢāļ°āļŠāļļāļĄ / āļ­āļšāļĢāļĄ / āļŠāļąāļĄāļĄāļ™āļē") seminarTotal += 1; + else if (timeStamps.CheckInLocationName.Contains("āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ")) + wfaTotal += 1; + else if (timeStamps.CheckInLocationName.Contains("āļ‚āļ­āļ­āļ™āļļāļāļēāļ•āļ­āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ")) + outOfficeTotal += 1; + else if (timeStamps.CheckInLocationName.Contains("āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ")) + oneStopSrvrTotal += 1; + else if (timeStamps.CheckInLocationName.Contains("āļ­āļ·āđˆāļ™āđ†")) + otherTotal += 1; } } @@ -2781,19 +2798,36 @@ namespace BMA.EHR.Leave.Service.Controllers worksheet.Cells[lastRow + 2, 8].Value = "āļ­āļšāļĢāļĄ āļ›āļĢāļ°āļŠāļļāļĄ āļŠāļąāļĄāļĄāļ™āļēāļŊ"; worksheet.Cells[lastRow + 2, 9].Value = seminarTotal; worksheet.Cells[lastRow + 2, 10].Value = "āļ„āļ™"; + worksheet.Cells[lastRow + 3, 8].Value = "āļ›āļŽāļīāļšāļąāļ•āļīāļ‡āļēāļ™āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ"; + worksheet.Cells[lastRow + 3, 9].Value = wfaTotal; + worksheet.Cells[lastRow + 3, 10].Value = "āļ„āļ™"; + worksheet.Cells[lastRow + 4, 8].Value = "āļ‚āļ­āļ­āļ™āļļāļāļēāļ•āļ­āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆ"; + worksheet.Cells[lastRow + 4, 9].Value = outOfficeTotal; + worksheet.Cells[lastRow + 4, 10].Value = "āļ„āļ™"; + worksheet.Cells[lastRow + 5, 8].Value = "āļ›āļŽāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ"; + worksheet.Cells[lastRow + 5, 9].Value = oneStopSrvrTotal; + worksheet.Cells[lastRow + 5, 10].Value = "āļ„āļ™"; + worksheet.Cells[lastRow + 6, 8].Value = "āļ­āļ·āđˆāļ™āđ†"; + worksheet.Cells[lastRow + 6, 9].Value = otherTotal; + worksheet.Cells[lastRow + 6, 10].Value = "āļ„āļ™"; + + + + + worksheet.Cells[lastRow + 3, 2].Value = "āļĨāļēāļ›āđˆāļ§āļĒ/āļĨāļēāļāļīāļˆ"; worksheet.Cells[lastRow + 3, 5].Value = sickTotal; worksheet.Cells[lastRow + 3, 6].Value = "āļ„āļ™"; worksheet.Cells[lastRow + 4, 2].Value = "āļĄāļēāļŠāļēāļĒ"; worksheet.Cells[lastRow + 4, 5].Value = lateTotal; worksheet.Cells[lastRow + 4, 6].Value = "āļ„āļ™"; - worksheet.Cells[lastRow + 6, 2].Value = "āđ€āļĢāļĩāļĒāļ™"; - worksheet.Cells[lastRow + 7, 2].Value = "āđ€āļžāļ·āđˆāļ­āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļš"; - worksheet.Cells[lastRow + 7, 9].Value = "āļ—āļĢāļēāļš"; - worksheet.Cells[lastRow + 7, 9].Style.Font.Bold = true; - worksheet.Cells[lastRow + 7, 9].Style.Font.Size = 22; - worksheet.Cells[lastRow + 8, 2].Value = "................................"; - worksheet.Cells[lastRow + 8, 9].Value = "................................"; + worksheet.Cells[lastRow + 8, 2].Value = "āđ€āļĢāļĩāļĒāļ™"; + worksheet.Cells[lastRow + 9, 2].Value = "āđ€āļžāļ·āđˆāļ­āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļš"; + worksheet.Cells[lastRow + 9, 9].Value = "āļ—āļĢāļēāļš"; + worksheet.Cells[lastRow + 9, 9].Style.Font.Bold = true; + worksheet.Cells[lastRow + 9, 9].Style.Font.Size = 22; + worksheet.Cells[lastRow + 10, 2].Value = "................................"; + worksheet.Cells[lastRow + 10, 9].Value = "................................"; worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); var fileBytes = package.GetAsByteArray(); return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "TimeStampRecords.xlsx"); From efc96dfb6d1620d91e84d4a4f94a899f9540f502 Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 4 Jun 2026 09:37:29 +0700 Subject: [PATCH 57/90] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20format=20?= =?UTF-8?q?=E0=B8=9F=E0=B8=B4=E0=B8=A7=20posMasterNo=20(6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementAppointmentEmployeeController.cs | 2 +- .../Controllers/RetirementOtherController.cs | 2 +- .../Controllers/RetirementResignController.cs | 2 +- .../Controllers/RetirementResignEmployeeController.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs index 971cd526..12325ecb 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentEmployeeController.cs @@ -542,7 +542,7 @@ namespace BMA.EHR.Placement.Service.Controllers placementAppointment.positionOld = org.result.position; placementAppointment.PositionLevelOld = org.result.posLevelName; placementAppointment.PositionTypeOld = org.result.posTypeName; - placementAppointment.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + placementAppointment.PositionNumberOld = org.result.posNo; placementAppointment.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 3f36af1d..697af6eb 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -448,7 +448,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementOther.positionAreaOld = org.result.positionArea; retirementOther.PositionLevelOld = org.result.posLevelName; retirementOther.PositionTypeOld = org.result.posTypeName; - retirementOther.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementOther.PositionNumberOld = org.result.posNo; retirementOther.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index b3c42f88..a97c5db8 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1290,7 +1290,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementResign.positionAreaOld = org.result.positionArea; retirementResign.PositionLevelOld = org.result.posLevelName; retirementResign.PositionTypeOld = org.result.posTypeName; - retirementResign.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResign.PositionNumberOld = org.result.posNo; retirementResign.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 7db20848..88c29364 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1227,7 +1227,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementResignEmployee.PositionOld = org.result.position; retirementResignEmployee.PositionLevelOld = org.result.posLevelName; retirementResignEmployee.PositionTypeOld = org.result.posTypeName; - retirementResignEmployee.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResignEmployee.PositionNumberOld = org.result.posNo; retirementResignEmployee.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + From afa5c853938bad5a056e8d290d81393115924f10 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 4 Jun 2026 10:01:11 +0700 Subject: [PATCH 58/90] fix #2545 --- .../LeaveRequests/LeaveRequestRepository.cs | 17 +++++++++++++++++ .../Controllers/LeaveReportController.cs | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index dee940fe..3070ee88 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1952,6 +1952,23 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + { + var data = await _dbContext.Set().AsQueryable().AsNoTracking() + .Include(x => x.Type) + .Where(x => x.KeycloakUserId == keycloakUserId) + .Where(x => x.Type.Id == leaveTypeId) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ?? x.CreatedAt) < endDate)) + //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") + .ToListAsync(); + + if (data.Count > 0) + return data.Sum(x => x.LeaveTotal); + else + return 0; + } + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { var data = await _dbContext.Set().AsQueryable().AsNoTracking() diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index cfc84ef0..29676230 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -164,7 +164,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31)) thisYear = thisYear + 1; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; @@ -346,7 +346,7 @@ namespace BMA.EHR.Leave.Service.Controllers //var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; From d3a174faa065c7b1de5b2b1f519c415c04939923 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 4 Jun 2026 10:10:31 +0700 Subject: [PATCH 59/90] log placementReceive --- .../Controllers/PlacementReceiveController.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 0447ff4c..7ad56249 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -514,9 +514,8 @@ namespace BMA.EHR.Placement.Service.Controllers { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - - client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); - + Console.Write($"[PlacementReceiveController] Check-Citizen API-Key : {_configuration["API_KEY"]}"); + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); var _res = await client.PostAsJsonAsync(apiUrlCheckCitizen, new { @@ -541,6 +540,7 @@ namespace BMA.EHR.Placement.Service.Controllers using (var client = new HttpClient()) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + Console.Write("[PlacementReceiveController] Check-Position"); client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); var _res = await client.SendAsync(_req); @@ -831,7 +831,7 @@ namespace BMA.EHR.Placement.Service.Controllers client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); var _res = await client.PostAsJsonAsync(apiUrlCheckCitizen, new From 1f7951dc4c8e079626953b4305bad78868bd44d3 Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 4 Jun 2026 10:15:33 +0700 Subject: [PATCH 60/90] =?UTF-8?q?update=20=E0=B8=A5=E0=B8=B2=E0=B8=AD?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=20admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RetirementResignController.cs | 2 +- .../Controllers/RetirementResignEmployeeController.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index f07cd36d..0ed6cc8a 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1439,7 +1439,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementResign.positionAreaOld = org.result.positionArea; retirementResign.PositionLevelOld = org.result.posLevelName; retirementResign.PositionTypeOld = org.result.posTypeName; - retirementResign.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResign.PositionNumberOld = org.result.posNo; retirementResign.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index bd61425c..20fa5402 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1381,7 +1381,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementResignEmployee.PositionOld = org.result.position; retirementResignEmployee.PositionLevelOld = org.result.posLevelName; retirementResignEmployee.PositionTypeOld = org.result.posTypeName; - retirementResignEmployee.PositionNumberOld = org.result.nodeShortName + " " + org.result.posMasterNo; + retirementResignEmployee.PositionNumberOld = org.result.posNo; retirementResignEmployee.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + (org.result.child3 == null ? "" : org.result.child3 + "\n") + (org.result.child2 == null ? "" : org.result.child2 + "\n") + From d6a7f1a5cab0ceabe39c76fbc73b72052889818f Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 4 Jun 2026 11:34:06 +0700 Subject: [PATCH 61/90] =?UTF-8?q?fix=20=E0=B9=81=E0=B8=81=E0=B9=89?= =?UTF-8?q?=E0=B9=84=E0=B8=82=E0=B8=A7=E0=B8=B1=E0=B8=99=E0=B8=97=E0=B8=B5?= =?UTF-8?q?=E0=B9=88=E0=B8=A2=E0=B8=B7=E0=B9=88=E0=B8=99=E0=B8=82=E0=B8=AD?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B9=89=E0=B8=A7=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9?= =?UTF-8?q?=E0=B8=A5=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B9=80=E0=B8=9B=E0=B8=A5?= =?UTF-8?q?=E0=B8=B5=E0=B9=88=E0=B8=A2=E0=B8=99=20#2547?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RetirementResignController.cs | 9 ++++++++- .../Controllers/RetirementResignEmployeeController.cs | 9 ++++++++- .../Requests/RetirementResignEmployeeRequest.cs | 2 +- .../Requests/RetirementResignRequest.cs | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 0ed6cc8a..32331859 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1513,7 +1513,14 @@ namespace BMA.EHR.Retirement.Service.Controllers return Error(GlobalMessages.RetirementResignNotFound, 404); updated.Location = req.Location; - updated.ActiveDate = req.ActiveDate; + if (req.SendDate != null) + { + updated.SendDate = req.SendDate; + } + if (req.ActiveDate != null) + { + updated.ActiveDate = req.ActiveDate; + } // updated.Reason = req.Reason; updated.Remark = req.Remark; updated.ReasonResign = req.Reason; diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 20fa5402..62014b1b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1450,7 +1450,14 @@ namespace BMA.EHR.Retirement.Service.Controllers return Error(GlobalMessages.RetirementResignEmployeeNotFound, 404); updated.Location = req.Location; - updated.ActiveDate = req.ActiveDate; + if (req.SendDate != null) + { + updated.SendDate = req.SendDate; + } + if (req.ActiveDate != null) + { + updated.ActiveDate = req.ActiveDate; + } // updated.Reason = req.Reason; updated.Remark = req.Remark; updated.ReasonResign = req.Reason; diff --git a/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs b/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs index dd883d0d..e1b1a3cf 100644 --- a/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/RetirementResignEmployeeRequest.cs @@ -6,7 +6,7 @@ namespace BMA.EHR.Retirement.Service.Requests public class RetirementResignEmployeeRequest { public string? Location { get; set; } - // public DateTime? SendDate { get; set; } + public DateTime? SendDate { get; set; } public DateTime? ActiveDate { get; set; } public string? Reason { get; set; } public string? Remark { get; set; } diff --git a/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs b/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs index acef05aa..e862e6dd 100644 --- a/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/RetirementResignRequest.cs @@ -6,7 +6,7 @@ namespace BMA.EHR.Retirement.Service.Requests public class RetirementResignRequest { public string? Location { get; set; } - // public DateTime? SendDate { get; set; } + public DateTime? SendDate { get; set; } public DateTime? ActiveDate { get; set; } public string? Reason { get; set; } public string? Remark { get; set; } From fe5c2cd7c1b9c54971214cf99e47e48a3e5b7749 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 4 Jun 2026 11:52:26 +0700 Subject: [PATCH 62/90] fix #2547 --- .../Controllers/RetirementResignController.cs | 4 ---- .../Controllers/RetirementResignEmployeeController.cs | 4 ---- 2 files changed, 8 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 32331859..2dd451ab 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -1517,10 +1517,6 @@ namespace BMA.EHR.Retirement.Service.Controllers { updated.SendDate = req.SendDate; } - if (req.ActiveDate != null) - { - updated.ActiveDate = req.ActiveDate; - } // updated.Reason = req.Reason; updated.Remark = req.Remark; updated.ReasonResign = req.Reason; diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 62014b1b..064220d4 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -1454,10 +1454,6 @@ namespace BMA.EHR.Retirement.Service.Controllers { updated.SendDate = req.SendDate; } - if (req.ActiveDate != null) - { - updated.ActiveDate = req.ActiveDate; - } // updated.Reason = req.Reason; updated.Remark = req.Remark; updated.ReasonResign = req.Reason; From a956f0b0ddbbe4900d86f349652546afada67101 Mon Sep 17 00:00:00 2001 From: Adisak Date: Thu, 4 Jun 2026 16:53:14 +0700 Subject: [PATCH 63/90] update --- .../Controllers/PlacementOfficerController.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index 867935e9..baaafee2 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -148,6 +148,7 @@ namespace BMA.EHR.Placement.Service.Controllers p.child4OldId, p.child4ShortNameOld, p.PositionOld, + p.PositionNumberOld, p.PositionExecutiveOld, p.positionExecutiveFieldOld, p.positionAreaOld, From 4c44bdf237d9d1a815fcca08658b01210bf70e3b Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 4 Jun 2026 19:05:09 +0700 Subject: [PATCH 64/90] =?UTF-8?q?fix=20=E0=B8=AD=E0=B8=B1=E0=B8=9E?= =?UTF-8?q?=E0=B9=80=E0=B8=94=E0=B8=97=E0=B8=AA=E0=B8=96=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=E0=B8=B0=E0=B8=9A=E0=B8=B8=E0=B8=84=E0=B8=84=E0=B8=A5=E0=B8=A0?= =?UTF-8?q?=E0=B8=B2=E0=B8=A2=E0=B8=99=E0=B8=AD=E0=B8=81=20#2518?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/PlacementRepository.cs | 112 ++++++++++++++---- 1 file changed, 88 insertions(+), 24 deletions(-) diff --git a/BMA.EHR.Application/Repositories/PlacementRepository.cs b/BMA.EHR.Application/Repositories/PlacementRepository.cs index 82b71b79..2b40d702 100644 --- a/BMA.EHR.Application/Repositories/PlacementRepository.cs +++ b/BMA.EHR.Application/Repositories/PlacementRepository.cs @@ -8,6 +8,17 @@ using Newtonsoft.Json; namespace BMA.EHR.Application.Repositories { + /// + /// Response model āļˆāļēāļ Org API (check-isLeave) + /// + public class OrgProfileResult + { + public string citizenId { get; set; } = ""; + public string? profileId { get; set; } + public bool isLeave { get; set; } + public bool isActive { get; set; } + } + public class PlacementRepository : GenericRepository { #region " Fields " @@ -83,39 +94,43 @@ namespace BMA.EHR.Application.Repositories /// /// Job āļ­āļąāļžāđ€āļ”āļ—āļŠāļ–āļēāļ™āļ°āļœāļđāđ‰āļŠāļ­āļšāļœāđˆāļēāļ™āļ—āļĩāđˆāļĨāļēāļ­āļ­āļāđ„āļ›āđāļĨāđ‰āļ§āđāļ•āđˆāļĒāļąāļ‡āđ„āļĄāđˆāļŠāđˆāļ‡āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ + /// āđāļĨāļ°āļ­āļąāļžāđ€āļ”āļ—āļšāļļāļ„āļ„āļĨāļ āļēāļĒāļ™āļ­āļāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĄāļēāļ­āļĒāļđāđˆāđƒāļ™āļĢāļ°āļšāļšāđāļĨāđ‰āļ§ /// āļ—āļģāļ‡āļēāļ™āļ—āļļāļāļ§āļąāļ™āđ€āļ§āļĨāļē 05:00 āļ™. /// public async Task UpdateStatusPlacementProfiles() { Console.WriteLine("[Job:UpdateStatusPlacementProfiles] === STARTED ==="); - var officerProfileIds = await _dbContext.Set() - .Where(p => !string.IsNullOrEmpty(p.profileId) - && p.IsOfficer == true + // 1. Query āļ—āļąāđ‰āļ‡ 2 āļāļĢāļ“āļĩ: āļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆ DONE + var allCitizenIds = await _dbContext.Set() + .Where(p => !string.IsNullOrEmpty(p.CitizenId) && p.PlacementStatus != "DONE" - // && p.Id == Guid.Parse("08deb7de-3030-4d1b-8519-8148584949fc") + // && p.CitizenId == "2536721883131" ) - .Select(p => p.profileId) + .Select(p => new { p.CitizenId, p.IsOfficer }) .ToListAsync(); - if (!officerProfileIds.Any()) + if (!allCitizenIds.Any()) { Console.WriteLine("[Job:UpdateStatusPlacementProfiles] No profiles to process"); return; } - Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļžāļšāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢāļ—āļĩāđˆāļŠāļ­āļšāļœāđˆāļēāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ” {officerProfileIds.Count} āļ„āļ™ āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāļŠāđˆāļ‡āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡"); + var officerCount = allCitizenIds.Count(x => x.IsOfficer == true); + var notOfficerCount = allCitizenIds.Count(x => x.IsOfficer == false); + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļžāļšāļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ {officerCount} āļ„āļ™, āļšāļļāļ„āļ„āļĨāļ āļēāļĒāļ™āļ­āļ {notOfficerCount} āļ„āļ™"); + // 2. āļŠāđˆāļ‡ citizenIds āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ„āļ› Org API āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§ + var citizenIds = allCitizenIds.Select(x => x.CitizenId).Distinct().ToList(); var apiUrl = $"{_configuration["API"]}/org/dotnet/check-isLeave"; - List leaveProfileIds = new(); + + List orgResults = new(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var payload = new - { - profileIds = officerProfileIds.Distinct().ToList() - }; + + var payload = new { citizenIds }; var jsonPayload = JsonConvert.SerializeObject(payload); var content = new StringContent(jsonPayload, System.Text.Encoding.UTF8, "application/json"); @@ -123,15 +138,16 @@ namespace BMA.EHR.Application.Repositories { var response = await client.PostAsync(apiUrl, content); var result = await response.Content.ReadAsStringAsync(); + var responseObj = JsonConvert.DeserializeAnonymousType(result, new { status = 0, message = "", - result = new List() + result = new List() }); - leaveProfileIds = responseObj.result ?? new(); - Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļžāļš {leaveProfileIds.Count} āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļĨāļēāļ­āļ­āļ"); + orgResults = responseObj?.result ?? new(); + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] Org API āļ•āļ­āļšāļāļĨāļąāļš {orgResults.Count} āļĢāļēāļĒāļāļēāļĢ"); } catch (Exception ex) { @@ -140,18 +156,35 @@ namespace BMA.EHR.Application.Repositories } } - if (leaveProfileIds.Any()) + if (!orgResults.Any()) { - var batchSize = 500; - var totalUpdated = 0; - var totalBatches = (int)Math.Ceiling((double)leaveProfileIds.Count / batchSize); + Console.WriteLine("[Job:UpdateStatusPlacementProfiles] āđ„āļĄāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļ•āđ‰āļ­āļ‡āļ­āļąāļ›āđ€āļ”āļ•"); + Console.WriteLine("[Job:UpdateStatusPlacementProfiles] === COMPLETED ==="); + return; + } + // 3. āđāļĒāļāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļēāļĄāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ + var leaveCitizenIds = orgResults.Where(x => x.isLeave).Select(x => x.citizenId).ToList(); + var inSystemProfiles = orgResults.Where(x => x.isActive && !x.isLeave && !string.IsNullOrEmpty(x.profileId)).ToList(); + + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļĨāļēāļ­āļ­āļ {leaveCitizenIds.Count} āļĢāļēāļĒāļāļēāļĢ, āļ­āļĒāļđāđˆāļ—āļĩāđˆāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī {inSystemProfiles.Count} āļĢāļēāļĒāļāļēāļĢ"); + + // 4. Split Batch Update (500 āļĢāļēāļĒāļāļēāļĢ/batch) + var batchSize = 500; + var totalUpdated = 0; + + // 4.1 Update āļ„āļ™āļĨāļēāļ­āļ­āļ â†’ IsOfficer = false + if (leaveCitizenIds.Any()) + { + var totalBatches = (int)Math.Ceiling((double)leaveCitizenIds.Count / batchSize); for (int i = 0; i < totalBatches; i++) { - var batch = leaveProfileIds.Skip(i * batchSize).Take(batchSize).ToList(); + var batch = leaveCitizenIds.Skip(i * batchSize).Take(batchSize).ToList(); var profilesToUpdate = await _dbContext.Set() - .Where(p => !string.IsNullOrEmpty(p.profileId) && batch.Contains(p.profileId)) + .Where(p => !string.IsNullOrEmpty(p.CitizenId) + && batch.Contains(p.CitizenId) + && p.IsOfficer == true) .ToListAsync(); foreach (var profile in profilesToUpdate) @@ -160,12 +193,43 @@ namespace BMA.EHR.Application.Repositories } await _dbContext.SaveChangesAsync(); - totalUpdated += profilesToUpdate.Count; - Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] Batch {i + 1}/{totalBatches} → āļ­āļąāļ›āđ€āļ”āļ• {profilesToUpdate.Count} āļĢāļēāļĒāļāļēāļĢ"); + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] [āļĨāļēāļ­āļ­āļ] Batch {i + 1}/{totalBatches} → āļ­āļąāļ›āđ€āļ”āļ• {profilesToUpdate.Count} āļĢāļēāļĒāļāļēāļĢ"); } - Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļ­āļąāļ›āđ€āļ”āļ•āļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” {totalUpdated} āļĢāļēāļĒāļāļēāļĢ â†’ IsOfficer = false"); } + + // 4.2 Update āļ„āļ™āļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™āļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī → profileId + IsOfficer = true + if (inSystemProfiles.Any()) + { + var totalBatches = (int)Math.Ceiling((double)inSystemProfiles.Count / batchSize); + for (int i = 0; i < totalBatches; i++) + { + var batch = inSystemProfiles.Skip(i * batchSize).Take(batchSize).ToList(); + var batchCitizenIds = batch.Select(x => x.citizenId).ToList(); + + var profilesToUpdate = await _dbContext.Set() + .Where(p => !string.IsNullOrEmpty(p.CitizenId) + && batchCitizenIds.Contains(p.CitizenId) + && p.IsOfficer == false) + .ToListAsync(); + + foreach (var profile in profilesToUpdate) + { + var orgProfile = batch.FirstOrDefault(x => x.citizenId == profile.CitizenId); + if (orgProfile != null) + { + profile.profileId = orgProfile.profileId; + profile.IsOfficer = true; + } + } + + await _dbContext.SaveChangesAsync(); + totalUpdated += profilesToUpdate.Count; + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] [āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš] Batch {i + 1}/{totalBatches} → āļ­āļąāļ›āđ€āļ”āļ• {profilesToUpdate.Count} āļĢāļēāļĒāļāļēāļĢ"); + } + } + + Console.WriteLine($"[Job:UpdateStatusPlacementProfiles] āļ­āļąāļ›āđ€āļ”āļ•āļĢāļ§āļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” {totalUpdated} āļĢāļēāļĒāļāļēāļĢ"); Console.WriteLine("[Job:UpdateStatusPlacementProfiles] === COMPLETED ==="); } From e09a6d0ea605339c4777528bb9b682dd84893207 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 5 Jun 2026 05:47:25 +0700 Subject: [PATCH 65/90] =?UTF-8?q?fix=20:=20Add=20LeaveLastTotal=20?= =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B9=83=E0=B8=AB?= =?UTF-8?q?=E0=B9=89=E0=B9=84=E0=B8=9B=E0=B9=83=E0=B8=8A=E0=B9=89=E0=B9=83?= =?UTF-8?q?=E0=B8=99=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=87=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=20=E0=B8=82=E0=B8=AD=E0=B8=87=E0=B9=80=E0=B8=94=E0=B8=B4?= =?UTF-8?q?=E0=B8=A1=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B8=A1=E0=B8=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 29676230..1a3793cb 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -217,6 +217,8 @@ namespace BMA.EHR.Leave.Service.Controllers leaveNumber = data.LeaveNumber.ToThaiNumber(), LeaveLastStart = lastLeaveRequest == null ? "" : lastLeaveRequest.LeaveStartDate.Date.ToThaiShortDate().ToThaiNumber(), LeaveLastEnd = lastLeaveRequest == null ? "" : lastLeaveRequest.LeaveEndDate.Date.ToThaiShortDate().ToThaiNumber(), + + LeaveLastTotal = lastLeaveRequest == null ? "0".ToThaiNumber() : lastLeaveRequest.LeaveTotal.ToString().ToThaiNumber(), LeaveSummary = sumLeave.ToString().ToThaiNumber(), LeaveRemain = (data.Type.Limit - sumLeave).ToString().ToThaiNumber(), From db3d531aa9422c4032ec0427cfe190884273c11b Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 5 Jun 2026 11:01:06 +0700 Subject: [PATCH 66/90] =?UTF-8?q?fix=20=E0=B8=99=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=A5=E0=B8=87=E0=B9=80=E0=B8=A7?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=E0=B8=99=E0=B8=AD=E0=B8=81=E0=B8=AA=E0=B8=96?= =?UTF-8?q?=E0=B8=B2=E0=B8=99=E0=B8=97=E0=B8=B5=E0=B9=88=20[=E0=B8=AD?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=99=E0=B9=86]=20#2524?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 1a3793cb..1b76947c 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -2648,8 +2648,9 @@ namespace BMA.EHR.Leave.Service.Controllers outOfficeTotal += 1; else if (timeStamps.CheckInLocationName.Contains("āļ›āļāļīāļšāļąāļ•āļīāļ‡āļēāļ™āđƒāļ™āļˆāļļāļ”āļšāļĢāļīāļāļēāļĢāļ”āđˆāļ§āļ™āļĄāļŦāļēāļ™āļ„āļĢ")) oneStopSrvrTotal += 1; - else if (timeStamps.CheckInLocationName.Contains("āļ­āļ·āđˆāļ™āđ†")) - otherTotal += 1; + else otherTotal += 1; + // else if (timeStamps.CheckInLocationName.Contains("āļ­āļ·āđˆāļ™āđ†")) + // otherTotal += 1; } } From d75cf39d7bfa5285950d7854a19780ea706ebf95 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 5 Jun 2026 17:35:59 +0700 Subject: [PATCH 67/90] =?UTF-8?q?update=20Job=20=E0=B8=84=E0=B8=99?= =?UTF-8?q?=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B8=A5=E0=B8=B2=E0=B8=AD=E0=B8=AD?= =?UTF-8?q?=E0=B8=81=20clear=20profileId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BMA.EHR.Application/Repositories/PlacementRepository.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/BMA.EHR.Application/Repositories/PlacementRepository.cs b/BMA.EHR.Application/Repositories/PlacementRepository.cs index 2b40d702..eb7c3617 100644 --- a/BMA.EHR.Application/Repositories/PlacementRepository.cs +++ b/BMA.EHR.Application/Repositories/PlacementRepository.cs @@ -189,6 +189,7 @@ namespace BMA.EHR.Application.Repositories foreach (var profile in profilesToUpdate) { + profile.profileId = null; profile.IsOfficer = false; } From 7d2be029b6dde4438c6878264c68f0c6e9568547 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 11 Jun 2026 11:42:18 +0700 Subject: [PATCH 68/90] =?UTF-8?q?api=20=E0=B8=84=E0=B8=B3=E0=B8=AA?= =?UTF-8?q?=E0=B8=B1=E0=B9=88=E0=B8=87=E0=B8=AD=E0=B8=99=E0=B8=B8=E0=B8=8D?= =?UTF-8?q?=E0=B8=B2=E0=B8=95=E0=B9=83=E0=B8=AB=E0=B9=89=E0=B8=A5=E0=B8=B2?= =?UTF-8?q?=E0=B8=AD=E0=B8=AD=E0=B8=81=E0=B9=84=E0=B8=9B=E0=B8=A3=E0=B8=B1?= =?UTF-8?q?=E0=B8=9A=E0=B8=A3=E0=B8=B2=E0=B8=8A=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=97=E0=B8=AB=E0=B8=B2=E0=B8=A3=20#248?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 8 +- .../Controllers/RetirementResignController.cs | 188 ++++++++++++++++++ 2 files changed, 195 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7391825f..f60d8ec1 100644 --- a/.gitignore +++ b/.gitignore @@ -373,4 +373,10 @@ MigrationBackup/ .ionide/ # Fody - auto-generated XML schema -FodyWeavers.xsd \ No newline at end of file +FodyWeavers.xsd + +# VS Code C# Dev Kit cache +*.lscache + +# Claude Code +.claude/ \ No newline at end of file diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 2dd451ab..03871f9f 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -2975,6 +2975,194 @@ namespace BMA.EHR.Retirement.Service.Controllers return Success(); } + /// + /// āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-48 + /// + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpPost("command48/report")] + public async Task> PostReport48([FromBody] ReportPersonRequest req) + { + var resigns = await _context.RetirementResigns + .Where(x => req.refIds.Contains(x.Id.ToString())) + .ToListAsync(); + resigns.ForEach(profile => profile.Status = req.status.Trim().ToUpper()); + await _context.SaveChangesAsync(); + return Success(); + } + /// + /// āļĨāļšāļĢāļēāļĒāļŠāļ·āđˆāļ­āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-48 + /// + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpPost("command48/report/delete")] + public async Task> PostReportDelete48([FromBody] ReportPersonRequest req) + { + var resigns = await _context.RetirementResigns + .Where(x => req.refIds.Contains(x.Id.ToString())) + .Where(x => x.Status.ToUpper() == "REPORT") + .ToListAsync(); + resigns.ForEach(profile => profile.Status = "APPROVE"); + await _context.SaveChangesAsync(); + return Success(); + } + + /// + /// āđ€āļ­āļāļŠāļēāļĢāđāļ™āļšāļ—āđ‰āļēāļĒ C-PM-48 + /// + /// Record Id āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡ + /// pdf, docx āļŦāļĢāļ·āļ­ xlsx + /// + /// āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ­āđˆāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ Relational Database āļŠāļģāđ€āļĢāđ‡āļˆ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpPost("command48/report/attachment")] + [AllowAnonymous] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PostReportAttachment48([FromBody] ReportAttachmentRequest req) + { + try + { + var report_data = (from p in _context.RetirementResigns + .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) + .ToList() + join r in req.refIds + on p.Id.ToString() equals r.refId + orderby r.Sequence + select new + { + No = r.Sequence.ToString().ToThaiNumber(), + CitizenId = r.CitizenId == null ? "-" : r.CitizenId.ToThaiNumber(), + FullName = $"{r.Prefix}{r.FirstName} {r.LastName}", + PositionName = p.PositionOld ?? "-", + Organization = p.OrganizationPositionOld ?? "-", + PositionLevel = p.PositionLevelOld ?? "-", + PositionType = p.PositionTypeOld ?? "-", + PositionNumber = p.PositionNumberOld == null ? "-" : p.PositionNumberOld.ToThaiNumber(), + ActiveDate = p.ActiveDate == null ? "-" : p.ActiveDate.Value.ToThaiShortDate2().ToThaiNumber(), + Salary = p.AmountOld == null ? "-" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(), + Remark = p.Reason ?? "-", + RemarkHorizontal = r.RemarkHorizontal == null ? "-" : r.RemarkHorizontal.ToThaiNumber(), + RemarkVertical = r.RemarkVertical == null ? "-" : r.RemarkVertical.ToThaiNumber() + }).ToList(); + + var result = new List(); + + foreach (var r in report_data) + { + result.Add(r); + string? _null = null; + if (r.RemarkHorizontal != null && r.RemarkHorizontal != "") + { + result.Add(new + { + No = _null, + FullName = r.RemarkHorizontal, + CitizenId = _null, + PositionName = _null, + Organization = _null, + PositionLevel = _null, + PositionType = _null, + PositionNumber = _null, + ActiveDate = _null, + Salary = _null, + Remark = _null, + RemarkHorizontal = _null, + RemarkVertical = _null, + }); + } + } + return Success(result); + } + catch + { + throw; + } + } + + /// + /// āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-48 āļ„āļģāļŠāļąāđˆāļ‡āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĨāļēāļ­āļ­āļāđ„āļ›āļĢāļąāļšāļĢāļēāļŠāļāļēāļĢāļ—āļŦāļēāļĢ + /// + /// + /// + /// āļ„āđˆāļēāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļŠāđˆāļ‡āļĄāļēāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpPost("command48/report/excecute")] + public async Task> PostReportExecute48([FromBody] ReportExecuteRequest req) + { + var data = await _context.RetirementResigns + .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) + .ToListAsync(); + // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + var resultData = (from p in data + join r in req.refIds + on p.Id.ToString() equals r.refId + select new + { + profileId = p.profileId, + amount = r.amount, + amountSpecial = r.amountSpecial, + positionSalaryAmount = r.positionSalaryAmount, + mouthSalaryAmount = r.mouthSalaryAmount, + positionExecutive = p.PositionExecutiveOld, + positionExecutiveField = p.positionExecutiveFieldOld, + positionArea = p.positionAreaOld, + positionType = p.PositionTypeOld, + positionLevel = p.PositionLevelOld, + isLeave = p.IsCancel == true ? false : true, + leaveReason = p.ReasonResign == "āļ­āļ·āđˆāļ™ āđ†" + ? string.IsNullOrWhiteSpace(p.Remark) ? p.ReasonResign : $"{p.ReasonResign}({p.Remark})" + : p.ReasonResign, + dateLeave = r.commandDateAffect, + commandId = r.commandId, + isGovernment = false, + orgRoot = p.rootOld, + orgChild1 = p.child1Old, + orgChild2 = p.child2Old, + orgChild3 = p.child3Old, + orgChild4 = p.child4Old, + commandNo = r.commandNo, + commandYear = r.commandYear, + posNo = p.posMasterNoOld?.ToString(), + posNoAbb = p.child4ShortNameOld != null ? $"{p.child4ShortNameOld}" : + p.child3ShortNameOld != null ? $"{p.child3ShortNameOld}" : + p.child2ShortNameOld != null ? $"{p.child2ShortNameOld}" : + p.child1ShortNameOld != null ? $"{p.child1ShortNameOld}" : + p.rootShortNameOld != null ? $"{p.rootShortNameOld}" : "", + commandDateAffect = r.commandDateAffect, + commandDateSign = r.commandDateSign, + positionName = p.PositionOld, + commandCode = r.commandCode, + commandName = r.commandName, + remark = r.remark, + }).ToList(); + + var baseAPIOrg = _configuration["API"]; + var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + var _res = await client.PostAsJsonAsync(apiUrlOrg, new + { + data = resultData, + }); + } + return Success(); + } + /// /// āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-41 /// From 4a8d349415a0d0c20bdddeae290b519d4cd32ca2 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 18 Jun 2026 11:47:11 +0700 Subject: [PATCH 69/90] =?UTF-8?q?Linear=20Flow=20(=E0=B8=97=E0=B8=94?= =?UTF-8?q?=E0=B8=AA=E0=B8=AD=E0=B8=9A=E0=B9=80=E0=B8=89=E0=B8=9E=E0=B8=B2?= =?UTF-8?q?=E0=B8=B0=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87?= =?UTF-8?q?=20C-PM-01)=20#224?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PlacementController.cs | 95 +++++++++++-------- 1 file changed, 56 insertions(+), 39 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index b01cf975..d45803ec 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -1989,49 +1989,66 @@ namespace BMA.EHR.Placement.Service.Controllers }).ToList(); Console.WriteLine($"[RecruitReportExcecute] resultData built successfully with {resultData?.Count ?? 0} records"); - - Console.WriteLine($"[RecruitReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); - var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // Console.WriteLine($"[RecruitReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); + // var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl); + // var _res = await client.PostAsJsonAsync(apiUrl, new + // { + // data = resultData + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // Console.WriteLine($"[RecruitReportExcecute] External API response status: {_res.StatusCode}"); + // if (_res.IsSuccessStatusCode) + // { + // Console.WriteLine("[RecruitReportExcecute] External API call successful - updating placement profiles"); + // placementProfile.ForEach(profile => + // { + // profile.PlacementStatus = "DONE"; + // if (req.refIds.Length > 0) + // { + // profile.commandId = req.refIds[0].commandId; + // profile.refCommandCode = req.refIds[0].commandCode; + // profile.refCommandDate = req.refIds[0].commandDateAffect; + // profile.refCommandName = req.refIds[0].commandName; + // profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; + // profile.templateDoc = req.refIds[0].remark; + // } + // }); + // Console.WriteLine($"[RecruitReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); + // await _context.SaveChangesAsync(); + // Console.WriteLine("[RecruitReportExcecute] Database save completed successfully"); + // } + // else + // { + // Console.Error.WriteLine($"[RecruitReportExcecute] External API call failed with status: {_res.StatusCode}"); + // Console.Error.WriteLine($"[RecruitReportExcecute] Response content: {_result}"); + // } + // } + #endregion + + // New: Linear Flow + placementProfile.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl); - var _res = await client.PostAsJsonAsync(apiUrl, new + profile.PlacementStatus = "DONE"; + if (req.refIds.Length > 0) { - data = resultData - }); - var _result = await _res.Content.ReadAsStringAsync(); - Console.WriteLine($"[RecruitReportExcecute] External API response status: {_res.StatusCode}"); - if (_res.IsSuccessStatusCode) - { - Console.WriteLine("[RecruitReportExcecute] External API call successful - updating placement profiles"); - placementProfile.ForEach(profile => - { - profile.PlacementStatus = "DONE"; - if (req.refIds.Length > 0) - { - profile.commandId = req.refIds[0].commandId; - profile.refCommandCode = req.refIds[0].commandCode; - profile.refCommandDate = req.refIds[0].commandDateAffect; - profile.refCommandName = req.refIds[0].commandName; - profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; - profile.templateDoc = req.refIds[0].remark; - } - }); - Console.WriteLine($"[RecruitReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); - await _context.SaveChangesAsync(); - Console.WriteLine("[RecruitReportExcecute] Database save completed successfully"); + profile.commandId = req.refIds[0].commandId; + profile.refCommandCode = req.refIds[0].commandCode; + profile.refCommandDate = req.refIds[0].commandDateAffect; + profile.refCommandName = req.refIds[0].commandName; + profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; + profile.templateDoc = req.refIds[0].remark; } - else - { - Console.Error.WriteLine($"[RecruitReportExcecute] External API call failed with status: {_res.StatusCode}"); - Console.Error.WriteLine($"[RecruitReportExcecute] Response content: {_result}"); - } - } - + }); + Console.WriteLine($"[RecruitReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); + await _context.SaveChangesAsync(); Console.WriteLine($"[RecruitReportExcecute] Process completed successfully at {DateTime.Now}"); - return Success(); + return Success(resultData); } catch (Exception ex) { From 35179d8cfc71706b7de0a884541c8fbb09d1e748 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 18 Jun 2026 15:46:22 +0700 Subject: [PATCH 70/90] Linear Flow (C-PM-01, C-PM-02, C-PM-14) #224 --- .../Controllers/PlacementController.cs | 102 ++++--- .../Controllers/PlacementReceiveController.cs | 254 ++++++++++-------- 2 files changed, 194 insertions(+), 162 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index d45803ec..135d94ba 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2395,51 +2395,67 @@ namespace BMA.EHR.Placement.Service.Controllers Console.WriteLine($"[CandidateReportExcecute] resultData built successfully with {resultData?.Count ?? 0} records"); - Console.WriteLine($"[CandidateReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); - var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl); - var _res = await client.PostAsJsonAsync(apiUrl, new - { - data = resultData - }); - var _result = await _res.Content.ReadAsStringAsync(); - Console.WriteLine($"[CandidateReportExcecute] External API response status: {_res.StatusCode}"); - if (_res.IsSuccessStatusCode) - { - Console.WriteLine("[CandidateReportExcecute] External API call successful - updating placement profiles"); - placementProfile.ForEach(profile => - { - profile.PlacementStatus = "DONE"; - if (req.refIds.Length > 0) - { - profile.commandId = req.refIds[0].commandId; - profile.refCommandCode = req.refIds[0].commandCode; - profile.refCommandDate = req.refIds[0].commandDateAffect; - profile.refCommandName = req.refIds[0].commandName; - profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; - profile.templateDoc = req.refIds[0].remark; - } - }); - Console.WriteLine($"[CandidateReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); - await _context.SaveChangesAsync(); - Console.WriteLine("[CandidateReportExcecute] Database save completed successfully"); - } - else - { - Console.Error.WriteLine($"[CandidateReportExcecute] External API call failed with status: {_res.StatusCode}"); - Console.Error.WriteLine($"[CandidateReportExcecute] Response content: {_result}"); - } - } + #region Old: Circular Flow + // Console.WriteLine($"[CandidateReportExcecute] Calling external API: {_configuration["API"]}/org/command/excexute/create-officer-profile"); + // var apiUrl = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl); + // var _res = await client.PostAsJsonAsync(apiUrl, new + // { + // data = resultData + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // Console.WriteLine($"[CandidateReportExcecute] External API response status: {_res.StatusCode}"); + // if (_res.IsSuccessStatusCode) + // { + // Console.WriteLine("[CandidateReportExcecute] External API call successful - updating placement profiles"); + // placementProfile.ForEach(profile => + // { + // profile.PlacementStatus = "DONE"; + // if (req.refIds.Length > 0) + // { + // profile.commandId = req.refIds[0].commandId; + // profile.refCommandCode = req.refIds[0].commandCode; + // profile.refCommandDate = req.refIds[0].commandDateAffect; + // profile.refCommandName = req.refIds[0].commandName; + // profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; + // profile.templateDoc = req.refIds[0].remark; + // } + // }); + // Console.WriteLine($"[CandidateReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); + // await _context.SaveChangesAsync(); + // Console.WriteLine("[CandidateReportExcecute] Database save completed successfully"); + // } + // else + // { + // Console.Error.WriteLine($"[CandidateReportExcecute] External API call failed with status: {_res.StatusCode}"); + // Console.Error.WriteLine($"[CandidateReportExcecute] Response content: {_result}"); + // } + // } + #endregion - // // update placementstatus - // placementProfile.ForEach(profile => profile.PlacementStatus = "DONE"); - // await _context.SaveChangesAsync(); + // New: Linear Flow + placementProfile.ForEach(profile => + { + profile.PlacementStatus = "DONE"; + if (req.refIds.Length > 0) + { + profile.commandId = req.refIds[0].commandId; + profile.refCommandCode = req.refIds[0].commandCode; + profile.refCommandDate = req.refIds[0].commandDateAffect; + profile.refCommandName = req.refIds[0].commandName; + profile.refCommandNo = $"{req.refIds[0].commandNo}/{req.refIds[0].commandYear.ToThaiYear()}"; + profile.templateDoc = req.refIds[0].remark; + } + }); + Console.WriteLine($"[CandidateReportExcecute] Saving changes to database for {placementProfile.Count} profiles"); + await _context.SaveChangesAsync(); Console.WriteLine($"[CandidateReportExcecute] Process completed successfully at {DateTime.Now}"); - return Success(); + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } catch (Exception ex) { diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 7ad56249..32f91eae 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -1181,127 +1181,143 @@ namespace BMA.EHR.Placement.Service.Controllers [HttpPost("command/report/excecute")] public async Task> PostReportExecute([FromBody] ReportExecuteRequest req) { - var data = await _context.PlacementReceives - .Include(x => x.Avatar) - .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) - .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - - var resultData = (from p in data - join r in req.refIds - on p.Id.ToString() equals r.refId - select new - { - bodyProfile = new - { - rank = string.IsNullOrEmpty(p.rank) ? string.Empty : p.rank, - prefix = p.prefix == null ? string.Empty : p.prefix, - firstName = p.firstName == null ? string.Empty : p.firstName, - lastName = p.lastName == null ? string.Empty : p.lastName, - citizenId = p.citizenId == null ? string.Empty : p.citizenId, - position = p.position == null ? string.Empty : p.position, - posLevelId = p.posLevelId == null ? string.Empty : p.posLevelId, - posTypeId = p.posTypeId == null ? string.Empty : p.posTypeId, - email = (String?)null, - phone = p.TelephoneNumber == null ? string.Empty : p.TelephoneNumber, - keycloak = string.Empty, - isProbation = false, - isLeave = false, - dateRetire = (DateTime?)null, - dateAppoint = r.commandDateAffect, - dateStart = r.commandDateAffect, - govAgeAbsent = 0, - govAgePlus = 0, - birthDate = (p.DateOfBirth == null || p.DateOfBirth == DateTime.MinValue) ? (DateTime?)null : p.DateOfBirth, - reasonSameDate = (DateTime?)null, - ethnicity = p.Race == null ? string.Empty : p.Race, - telephoneNumber = (String?)null, - nationality = p.Nationality == null ? string.Empty : p.Nationality, - gender = p.Gender == null ? string.Empty : p.Gender, - relationship = p.Relationship == null ? string.Empty : p.Relationship, - religion = p.Religion == null ? string.Empty : p.Religion, - bloodGroup = p.BloodGroup == null ? string.Empty : p.BloodGroup, - registrationAddress = (String?)null, - registrationProvinceId = (String?)null, - registrationDistrictId = (String?)null, - registrationSubDistrictId = (String?)null, - registrationZipCode = (String?)null, - currentAddress = (String?)null, - currentProvinceId = (String?)null, - currentDistrictId = (String?)null, - currentSubDistrictId = (String?)null, - currentZipCode = (String?)null, - amount = r.amount, - amountSpecial = r.amountSpecial, - objectRefId = p.Avatar != null && p.Avatar?.ObjectRefId != null ? p.Avatar?.ObjectRefId.ToString("D") : null, - }, - bodySalarys = new - { - profileId = p.profileId, - amount = r.amount, - amountSpecial = r.amountSpecial, - positionSalaryAmount = r.positionSalaryAmount, - mouthSalaryAmount = r.mouthSalaryAmount, - positionExecutive = p.PositionExecutive, - positionExecutiveField = p.positionExecutiveField, - positionArea = p.positionArea, - positionType = p.posTypeName, - positionLevel = p.posLevelName, - commandId = r.commandId, - orgRoot = p.root, - orgChild1 = p.child1, - orgChild2 = p.child2, - orgChild3 = p.child3, - orgChild4 = p.child4, - commandNo = r.commandNo, - commandYear = r.commandYear, - posNo = p.posMasterNo?.ToString(), - posNoAbb = p.node == 4 ? $"{p.child4ShortName}" : - p.node == 3 ? $"{p.child3ShortName}" : - p.node == 2 ? $"{p.child2ShortName}" : - p.node == 1 ? $"{p.child1ShortName}" : - p.node == 0 ? $"{p.rootShortName}" : "", - commandDateAffect = r.commandDateAffect, - commandDateSign = r.commandDateSign, - positionName = p.position, - commandCode = r.commandCode, - commandName = r.commandName, - remark = r.remark, - }, - bodyPosition = new - { - posmasterId = p.posmasterId, - positionId = p.positionId, - positionName = p.position, - positionField = p.positionField, - posTypeId = p.posTypeId, - posLevelId = p.posLevelId, - posExecutiveId = p.posExecutiveId, - positionExecutiveField = p.positionExecutiveField, - positionArea = p.positionArea, - } - }).ToList(); - - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; - using (var client = new HttpClient()) + Console.WriteLine($"[ReceiveReportExcecute] Starting execution at {DateTime.Now}"); + try { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } + var data = await _context.PlacementReceives + .Include(x => x.Avatar) + .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) + .ToListAsync(); + + var resultData = (from p in data + join r in req.refIds + on p.Id.ToString() equals r.refId + select new + { + bodyProfile = new + { + rank = string.IsNullOrEmpty(p.rank) ? string.Empty : p.rank, + prefix = p.prefix == null ? string.Empty : p.prefix, + firstName = p.firstName == null ? string.Empty : p.firstName, + lastName = p.lastName == null ? string.Empty : p.lastName, + citizenId = p.citizenId == null ? string.Empty : p.citizenId, + position = p.position == null ? string.Empty : p.position, + posLevelId = p.posLevelId == null ? string.Empty : p.posLevelId, + posTypeId = p.posTypeId == null ? string.Empty : p.posTypeId, + email = (String?)null, + phone = p.TelephoneNumber == null ? string.Empty : p.TelephoneNumber, + keycloak = string.Empty, + isProbation = false, + isLeave = false, + dateRetire = (DateTime?)null, + dateAppoint = r.commandDateAffect, + dateStart = r.commandDateAffect, + govAgeAbsent = 0, + govAgePlus = 0, + birthDate = (p.DateOfBirth == null || p.DateOfBirth == DateTime.MinValue) ? (DateTime?)null : p.DateOfBirth, + reasonSameDate = (DateTime?)null, + ethnicity = p.Race == null ? string.Empty : p.Race, + telephoneNumber = (String?)null, + nationality = p.Nationality == null ? string.Empty : p.Nationality, + gender = p.Gender == null ? string.Empty : p.Gender, + relationship = p.Relationship == null ? string.Empty : p.Relationship, + religion = p.Religion == null ? string.Empty : p.Religion, + bloodGroup = p.BloodGroup == null ? string.Empty : p.BloodGroup, + registrationAddress = (String?)null, + registrationProvinceId = (String?)null, + registrationDistrictId = (String?)null, + registrationSubDistrictId = (String?)null, + registrationZipCode = (String?)null, + currentAddress = (String?)null, + currentProvinceId = (String?)null, + currentDistrictId = (String?)null, + currentSubDistrictId = (String?)null, + currentZipCode = (String?)null, + amount = r.amount, + amountSpecial = r.amountSpecial, + objectRefId = p.Avatar != null && p.Avatar?.ObjectRefId != null ? p.Avatar?.ObjectRefId.ToString("D") : null, + }, + bodySalarys = new + { + profileId = p.profileId, + amount = r.amount, + amountSpecial = r.amountSpecial, + positionSalaryAmount = r.positionSalaryAmount, + mouthSalaryAmount = r.mouthSalaryAmount, + positionExecutive = p.PositionExecutive, + positionExecutiveField = p.positionExecutiveField, + positionArea = p.positionArea, + positionType = p.posTypeName, + positionLevel = p.posLevelName, + commandId = r.commandId, + orgRoot = p.root, + orgChild1 = p.child1, + orgChild2 = p.child2, + orgChild3 = p.child3, + orgChild4 = p.child4, + commandNo = r.commandNo, + commandYear = r.commandYear, + posNo = p.posMasterNo?.ToString(), + posNoAbb = p.node == 4 ? $"{p.child4ShortName}" : + p.node == 3 ? $"{p.child3ShortName}" : + p.node == 2 ? $"{p.child2ShortName}" : + p.node == 1 ? $"{p.child1ShortName}" : + p.node == 0 ? $"{p.rootShortName}" : "", + commandDateAffect = r.commandDateAffect, + commandDateSign = r.commandDateSign, + positionName = p.position, + commandCode = r.commandCode, + commandName = r.commandName, + remark = r.remark, + }, + bodyPosition = new + { + posmasterId = p.posmasterId, + positionId = p.positionId, + positionName = p.position, + positionField = p.positionField, + posTypeId = p.posTypeId, + posLevelId = p.posLevelId, + posExecutiveId = p.posExecutiveId, + positionExecutiveField = p.positionExecutiveField, + positionArea = p.positionArea, + } + }).ToList(); + + Console.WriteLine($"[ReceiveReportExcecute] resultData built successfully with {resultData?.Count ?? 0} records"); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{_configuration["API"]}/org/command/excexute/create-officer-profile"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow + data.ForEach(profile => profile.Status = "DONE"); + Console.WriteLine($"[ReceiveReportExcecute] Saving changes to database for {data.Count} profiles"); + await _context.SaveChangesAsync(); + Console.WriteLine($"[ReceiveReportExcecute] Process completed successfully at {DateTime.Now}"); + return Success(resultData); + } + catch (Exception ex) + { + Console.Error.WriteLine($"[ReceiveReportExcecute] Error occurred: {ex.Message}"); + Console.Error.WriteLine($"[ReceiveReportExcecute] Stack trace: {ex.StackTrace}"); + throw; } - return Success(); } } } From e926866918be0f75d5aa96c84610ec0178f54a60 Mon Sep 17 00:00:00 2001 From: harid Date: Thu, 18 Jun 2026 18:32:06 +0700 Subject: [PATCH 71/90] Linear Flow (PlacementService) #224 --- .../PlacementAppointmentController.cs | 264 +++++++++++------- .../Controllers/PlacementController.cs | 141 +++++----- .../Controllers/PlacementOfficerController.cs | 66 +++-- .../PlacementRepatriationController.cs | 46 +-- .../PlacementTransferController.cs | 46 +-- 5 files changed, 319 insertions(+), 244 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index a8c2bd4c..50114759 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -1041,24 +1041,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1257,24 +1265,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1457,24 +1473,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1662,24 +1686,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1890,24 +1922,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2053,24 +2093,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } } } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 135d94ba..9557ae00 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2645,9 +2645,6 @@ namespace BMA.EHR.Placement.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); var resultData = (from p in data join r in req.refIds @@ -2692,24 +2689,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.PlacementStatus = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // //// var _result = await _res.Content.ReadAsStringAsync(); + // //// if (_res.IsSuccessStatusCode) + // //// { + // //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + // //// await _context.SaveChangesAsync(); + // //// } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2890,9 +2895,6 @@ namespace BMA.EHR.Placement.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); var resultData = (from p in data join r in req.refIds @@ -2937,24 +2939,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.PlacementStatus = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // //// var _result = await _res.Content.ReadAsStringAsync(); + // //// if (_res.IsSuccessStatusCode) + // //// { + // //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + // //// await _context.SaveChangesAsync(); + // //// } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -3120,9 +3130,6 @@ namespace BMA.EHR.Placement.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); - await _context.SaveChangesAsync(); var resultData = (from p in data join r in req.refIds @@ -3165,24 +3172,32 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.PlacementStatus = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-current"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // //// var _result = await _res.Content.ReadAsStringAsync(); + // //// if (_res.IsSuccessStatusCode) + // //// { + // //// data.ForEach(profile => profile.PlacementStatus = "DONE"); + // //// await _context.SaveChangesAsync(); + // //// } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.PlacementStatus = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index baaafee2..8fcb51cf 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -760,16 +760,6 @@ namespace BMA.EHR.Placement.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - var firstRef = req.refIds.FirstOrDefault(); - var commandNoText = firstRef != null ? $"{firstRef.commandNo}/{firstRef.commandYear.ToThaiYear()}" : null; - foreach (var profile in data) - { - profile.Status = "DONE"; - profile.commandNo = commandNoText; - } - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -811,28 +801,42 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // //// var _result = await _res.Content.ReadAsStringAsync(); + // //// if (_res.IsSuccessStatusCode) + // //// { + // //// foreach (var profile in data) + // //// { + // //// profile.Status = "DONE"; + // //// profile.commandNo = resultData.Count > 0 ? $"{resultData[0].commandNo}/{resultData[0].commandYear.ToThaiYear()}" : null; + // //// } + // //// await _context.SaveChangesAsync(); + // //// } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var firstRef = req.refIds.FirstOrDefault(); + var commandNoText = firstRef != null ? $"{firstRef.commandNo}/{firstRef.commandYear.ToThaiYear()}" : null; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// foreach (var profile in data) - //// { - //// profile.Status = "DONE"; - //// profile.commandNo = resultData.Count > 0 ? $"{resultData[0].commandNo}/{resultData[0].commandYear.ToThaiYear()}" : null; - //// } - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "DONE"; + profile.commandNo = commandNoText; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } } } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index e9c45532..b56fc804 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -623,9 +623,6 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementRepatriations .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); string? _null = null; var resultData = (from p in data @@ -668,25 +665,32 @@ namespace BMA.EHR.Placement.Service.Controllers commandName = r.commandName, remark = r.remark, }).ToList(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + // New: Linear Flow - Task #224āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } } } diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index a8786b51..73741918 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -1148,9 +1148,6 @@ namespace BMA.EHR.Placement.Service.Controllers var data = await _context.PlacementTransfers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); var resultData = (from p in data join r in req.refIds @@ -1194,24 +1191,31 @@ namespace BMA.EHR.Placement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } From 71966eb4e99548054b529313cecc7ea350a552c0 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 19 Jun 2026 09:22:33 +0700 Subject: [PATCH 72/90] Linear Flow (RetirementService) #224 --- .../Controllers/RetirementOtherController.cs | 94 ++++++------ .../Controllers/RetirementOutController.cs | 62 ++++---- .../Controllers/RetirementResignController.cs | 136 ++++++++++-------- .../RetirementResignEmployeeController.cs | 100 +++++++------ 4 files changed, 213 insertions(+), 179 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 697af6eb..4880f3b6 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -846,9 +846,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOthers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); string? _null = null; var resultData = (from p in data @@ -912,24 +909,32 @@ namespace BMA.EHR.Retirement.Service.Controllers orgChild4New = p.child4 }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1098,9 +1103,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOthers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); string? _null = null; var resultData = (from p in data @@ -1164,24 +1166,32 @@ namespace BMA.EHR.Retirement.Service.Controllers orgChild4New = p.child4 }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } } } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index a8c9d8e2..ae528316 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -642,10 +642,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementOuts .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -688,31 +684,39 @@ namespace BMA.EHR.Retirement.Service.Controllers resignId = p.Id, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - if (data.Count > 0) - { - if (data[0].profileType == "EMPLOYEE") - { - apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; - } - } - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // if (data.Count > 0) + // { + // if (data[0].profileType == "EMPLOYEE") + // { + // apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; + // } + // } + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } } } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 03871f9f..1b434380 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -2907,10 +2907,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementResigns .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2955,24 +2951,32 @@ namespace BMA.EHR.Retirement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -3102,10 +3106,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementResigns .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -3149,18 +3149,26 @@ namespace BMA.EHR.Retirement.Service.Controllers remark = r.remark, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -3298,11 +3306,6 @@ namespace BMA.EHR.Retirement.Service.Controllers .Include(x => x.RetirementResign) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -3346,7 +3349,8 @@ namespace BMA.EHR.Retirement.Service.Controllers resignId = p.RetirementResign.Id, }).ToList(); - var baseAPIOrg = _configuration["API"]; + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; //var reportDone = false; //if (data.Where(profile => profile.Status == "DONE").Any()) //{ @@ -3354,23 +3358,23 @@ namespace BMA.EHR.Retirement.Service.Controllers //} //if (reportDone == true) //{ - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); - // // await _context.SaveChangesAsync(); - // // } - } + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); + // // // await _context.SaveChangesAsync(); + // // // } + // } //} //else //{ @@ -3392,7 +3396,15 @@ namespace BMA.EHR.Retirement.Service.Controllers // } // } //} - return Success(); + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } #region 33-āđāļšāļšāļŸāļ­āļĢāđŒāļĄāļŦāļ™āļąāļ‡āļŠāļ·āļ­āļ‚āļ­āļĨāļēāļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 064220d4..4449099b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -2405,10 +2405,6 @@ namespace BMA.EHR.Retirement.Service.Controllers var data = await _context.RetirementResignEmployees .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -2451,24 +2447,32 @@ namespace BMA.EHR.Retirement.Service.Controllers resignId = p.Id, }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // await _context.SaveChangesAsync(); - // // } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // await _context.SaveChangesAsync(); + // // // } + // } + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2604,11 +2608,6 @@ namespace BMA.EHR.Retirement.Service.Controllers .Include(x => x.RetirementResignEmployee) .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2650,7 +2649,8 @@ namespace BMA.EHR.Retirement.Service.Controllers resignId = p.RetirementResignEmployee.Id }).ToList(); - var baseAPIOrg = _configuration["API"]; + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; //var reportDone = false; //if (data.Where(profile => profile.Status == "DONE").Any()) //{ @@ -2659,23 +2659,23 @@ namespace BMA.EHR.Retirement.Service.Controllers //if (reportDone == true) //{ - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - // // var _result = await _res.Content.ReadAsStringAsync(); - // // if (_res.IsSuccessStatusCode) - // // { - // // data.ForEach(profile => profile.Status = "DONE"); - // // data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); - // // await _context.SaveChangesAsync(); - // // } - } + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-employee-leave"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // // // var _result = await _res.Content.ReadAsStringAsync(); + // // // if (_res.IsSuccessStatusCode) + // // // { + // // // data.ForEach(profile => profile.Status = "DONE"); + // // // data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); + // // // await _context.SaveChangesAsync(); + // // // } + // } //} //else //{ @@ -2697,7 +2697,15 @@ namespace BMA.EHR.Retirement.Service.Controllers // } // } //} - return Success(); + #endregion + + // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// From 2cdae3578e5a4c64b9e7f16e2b07026fa1172bd6 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 19 Jun 2026 10:51:18 +0700 Subject: [PATCH 73/90] issue #2551 --- .../LeaveRequests/LeaveBeginingRepository.cs | 126 +- ...eginning ProfileId Year TypeId.Designer.cs | 1816 +++++++++++++++++ ...ex LeaveBeginning ProfileId Year TypeId.cs | 28 + .../LeaveDb/LeaveDbContextModelSnapshot.cs | 4 + .../Persistence/LeaveDbContext.cs | 13 + .../Controllers/LeaveRequestController.cs | 24 + BMA.EHR.Leave/Program.cs | 25 +- 7 files changed, 1996 insertions(+), 40 deletions(-) create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs create mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs index 35b18090..7cf4dee7 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs @@ -9,6 +9,7 @@ using BMA.EHR.Domain.Shared; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; +using System.Collections.Concurrent; namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests { @@ -23,6 +24,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests private readonly IConfiguration _configuration; private readonly EmailSenderService _emailSenderService; + /// + /// Keyed locks to serialize get-or-create for LeaveBeginning rows by (ProfileId, LeaveYear, LeaveTypeId). + /// Prevents duplicate inserts when concurrent requests (e.g. UI calling /user/check twice) hit the same key. + /// + private static readonly ConcurrentDictionary _getOrAddLocks = new(); + #endregion #region " Constructor and Destuctor " @@ -121,6 +128,27 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests await _dbContext.SaveChangesAsync(); } + public async Task ProcessEarlyLeaveRequest(int year) + { + // Get Early Leave Request + var leaveReq = await _dbContext.Set() + .Include(x => x.Type) + .Where(x => x.LeaveStatus == "APPROVE") + .Where(x => x.LeaveStartDate.Year == year || x.LeaveEndDate.Year == year) + .ToListAsync(); + + foreach (var leave in leaveReq) + { + await GetByYearAndTypeIdForUserAsync(year, leave.Type.Id, leave.KeycloakUserId); + } + } + + public async Task ProcessEarlyLeaveRequestSchedule() + { + int year = DateTime.Now.Year; + await ProcessEarlyLeaveRequest(year); + } + public async Task GetByYearAndTypeIdForUserAsync(int year, Guid typeId, Guid userId) { // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken); @@ -134,17 +162,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId); - var data = await _dbContext.Set() - .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); - - if (data == null) + LeaveBeginning Factory() { var limit = 0.0; - var prev = await _dbContext.Set() + var prev = _dbContext.Set() .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); var prevRemain = 0.0; if (prev != null) @@ -170,7 +194,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests limit = 0.0; } - data = new LeaveBeginning + return new LeaveBeginning { LeaveYear = year, LeaveTypeId = typeId, @@ -186,12 +210,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests Child3DnaId = pf.Child3DnaId, Child4DnaId = pf.Child4DnaId }; - - _dbContext.Set().Add(data); - await _dbContext.SaveChangesAsync(); } - return data; + return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory); } public async Task GetByYearAndTypeIdForUser(int year, Guid typeId, GetProfileByKeycloakIdDto? pf) @@ -200,17 +221,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId); - var data = await _dbContext.Set() - .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); - - if (data == null) + LeaveBeginning Factory() { var limit = 0.0; - var prev = await _dbContext.Set() + var prev = _dbContext.Set() .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); var prevRemain = 0.0; if (prev != null) @@ -236,7 +253,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests limit = 0.0; } - data = new LeaveBeginning + return new LeaveBeginning { LeaveYear = year, LeaveTypeId = typeId, @@ -252,12 +269,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests Child3DnaId = pf.Child3DnaId, Child4DnaId = pf.Child4DnaId }; - - _dbContext.Set().Add(data); - await _dbContext.SaveChangesAsync(); } - return data; + return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory); } public async Task GetByYearAndTypeIdForUser2Async(int year, Guid typeId, Guid userId) @@ -273,17 +287,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId); - var data = await _dbContext.Set() - .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); - - if (data == null) + LeaveBeginning Factory() { var limit = 0.0; - var prev = await _dbContext.Set() + var prev = _dbContext.Set() .Include(x => x.LeaveType) - .FirstOrDefaultAsync(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); var prevRemain = 0.0; if (prev != null) @@ -309,7 +319,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests limit = 0.0; } - data = new LeaveBeginning + return new LeaveBeginning { LeaveYear = year, LeaveTypeId = typeId, @@ -325,17 +335,59 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests Child3DnaId = pf.Child3DnaId, Child4DnaId = pf.Child4DnaId }; - - _dbContext.Set().Add(data); - await _dbContext.SaveChangesAsync(); } - return data; + return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory); + } + + /// + /// Get-or-create a LeaveBeginning row for (ProfileId, LeaveYear, LeaveTypeId) with concurrency protection. + /// Uses a keyed SemaphoreSlim to serialize within-process requests, and re-queries after acquiring the lock. + /// If a cross-process insert wins (unique index violation), the duplicate key exception is caught and the row + /// created by the winner is returned. + /// + private async Task GetOrAddForUserAsync(int year, Guid typeId, Guid profileId, Func factory) + { + var key = $"{profileId}_{year}_{typeId}"; + var semaphore = _getOrAddLocks.GetOrAdd(key, _ => new SemaphoreSlim(1, 1)); + await semaphore.WaitAsync(); + try + { + // Re-query inside the lock — another thread may have created it while we waited. + var existing = await _dbContext.Set() + .Include(x => x.LeaveType) + .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == profileId); + if (existing != null) + { + return existing; + } + + var entity = factory(); + _dbContext.Set().Add(entity); + try + { + await _dbContext.SaveChangesAsync(); + return entity; + } + catch (DbUpdateException) + { + // Cross-process/cross-server race hit the unique index (IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId). + // Detach the failed insert and return the row created by the winner. + _dbContext.Detach(entity); + var winner = await _dbContext.Set() + .Include(x => x.LeaveType) + .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == profileId); + return winner; + } + } + finally + { + semaphore.Release(); + } } public async Task> GetAllByYearAndTypeAsync(int year, Guid typeId, List userIdList) { - var updateList = new List(); var result = new List(); diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs new file mode 100644 index 00000000..d2d336f9 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs @@ -0,0 +1,1816 @@ +ïŧŋ// +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.LeaveDb +{ + [DbContext(typeof(LeaveDbContext))] + [Migration("20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId")] + partial class AddUniqueIndexLeaveBeginningProfileIdYearTypeId + { + /// + 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.Documents.Document", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)"); + + b.Property("Detail") + .IsRequired() + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("varchar(255)"); + + b.Property("FileSize") + .HasColumnType("int"); + + b.Property("FileType") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)"); + + b.Property("ObjectRefId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("Document"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Code") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("Limit") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļŠāļđāļ‡āļŠāļļāļ”āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); + + b.Property("Name") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.HasKey("Id"); + + b.ToTable("LeaveTypes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("BeginningLeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē"); + + b.Property("BeginningLeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveCount") + .HasColumnType("int") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); + + b.Property("LeaveDays") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); + + b.Property("LeaveDaysUsed") + .HasColumnType("double") + .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); + + b.Property("LeaveTypeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveYear") + .HasColumnType("int") + .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("LeaveTypeId"); + + b.HasIndex("ProfileId", "LeaveYear", "LeaveTypeId") + .IsUnique() + .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId"); + + b.ToTable("LeaveBeginnings"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DocumentId") + .HasColumnType("char(36)"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("LeaveRequestId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DocumentId"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveDocuments"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AbsentDayAt") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayGetIn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayLocation") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("AbsentDayRegistorDate") + .HasColumnType("datetime(6)"); + + b.Property("AbsentDaySummon") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("Amount") + .HasColumnType("double"); + + b.Property("ApproveStep") + .HasColumnType("longtext") + .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); + + b.Property("BirthDate") + .HasColumnType("datetime(6)"); + + b.Property("CancelLeaveWrote") + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ (āļ‚āļ­āļĒāļāđ€āļĨāļīāļ)"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + b.Property("CommanderPosition") + .HasColumnType("longtext"); + + b.Property("CoupleDayCountryHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayEndDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDayLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayLevelCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayPosition") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("CoupleDayStartDateHistory") + .HasColumnType("datetime(6)"); + + b.Property("CoupleDaySumTotalHistory") + .HasColumnType("longtext"); + + b.Property("CoupleDayTotalHistory") + .HasColumnType("longtext"); + + 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("DateAppoint") + .HasColumnType("datetime(6)"); + + b.Property("DateSendLeave") + .HasColumnType("datetime(6)"); + + b.Property("Dear") + .HasColumnType("longtext") + .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("HajjDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("LeaveAddress") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveBirthDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveCancelComment") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveCancelDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveCancelStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); + + b.Property("LeaveComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); + + b.Property("LeaveDetail") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļĨāļē"); + + b.Property("LeaveDirectorComment") + .HasColumnType("longtext") + .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļģāļ™āļ§āļĒāļāļēāļĢāļŠāļģāļ™āļąāļ"); + + b.Property("LeaveDraftDocumentId") + .HasColumnType("char(36)"); + + b.Property("LeaveEndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); + + b.Property("LeaveGovernmentDate") + .HasColumnType("datetime(6)"); + + b.Property("LeaveLast") + .HasColumnType("datetime(6)"); + + b.Property("LeaveNumber") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); + + b.Property("LeaveRange") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄ āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveRangeEnd") + .HasColumnType("longtext") + .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ” āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); + + b.Property("LeaveSalary") + .HasColumnType("int"); + + b.Property("LeaveSalaryText") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("LeaveStartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĨāļē"); + + b.Property("LeaveStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļĢāđ‰āļ­āļ‡"); + + b.Property("LeaveSubTypeName") + .HasColumnType("longtext"); + + b.Property("LeaveTotal") + .HasColumnType("double"); + + b.Property("LeaveTypeCode") + .HasColumnType("longtext") + .HasComment("code āļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); + + b.Property("LeaveWrote") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ"); + + b.Property("OrdainDayBuddhistLentAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayBuddhistLentName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationAddress") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayLocationNumber") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("OrdainDayOrdination") + .HasColumnType("datetime(6)"); + + b.Property("OrdainDayStatus") + .HasColumnType("tinyint(1)"); + + b.Property("OrganizationName") + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionLevelName") + .HasColumnType("longtext") + .HasComment("āļĢāļ°āļ”āļąāļšāļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("PositionName") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("RestDayCurrentTotal") + .HasColumnType("double"); + + b.Property("RestDayOldTotal") + .HasColumnType("double"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.Property("StudyDayCountry") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayDegreeLevel") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayScholarship") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDaySubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayTrainingSubject") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("StudyDayUniversityName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("TypeId") + .HasColumnType("char(36)"); + + b.Property("WifeDayDateBorn") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("WifeDayName") + .IsRequired() + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.HasIndex("LeaveCancelDocumentId"); + + b.HasIndex("LeaveDraftDocumentId"); + + b.HasIndex("TypeId"); + + b.ToTable("LeaveRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("ApproveStatus") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ApproveType") + .HasColumnType("longtext"); + + b.Property("Comment") + .IsRequired() + .HasColumnType("longtext"); + + 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("FirstName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("IsAct") + .HasColumnType("tinyint(1)"); + + b.Property("KeyId") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("KeycloakId") + .HasColumnType("char(36)"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("longtext"); + + 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("LeaveRequestId") + .HasColumnType("char(36)"); + + b.Property("OrganizationName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļąāļ‡āļāļąāļ”"); + + b.Property("PosExecutiveName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); + + b.Property("PositionLevelName") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); + + b.Property("PositionName") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("PositionSign") + .HasColumnType("longtext") + .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ•āđ‰āļĨāļēāļĒāđ€āļŠāđ‡āļ™āļ•āđŒ"); + + b.Property("Prefix") + .IsRequired() + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("Seq") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("LeaveRequestId"); + + b.ToTable("LeaveRequestApprovers"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckDate") + .HasColumnType("datetime(6)") + .HasComment("*āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("CheckInEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("CheckOutEdit") + .HasColumnType("tinyint(1)") + .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđƒāļ™āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("*āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak āļ—āļĩāđˆāļĢāđ‰āļ­āļ‡āļ‚āļ­"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Latitude") + .HasColumnType("double"); + + b.Property("Longitude") + .HasColumnType("double"); + + b.Property("POI") + .HasColumnType("longtext"); + + b.Property("Prefix") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("AdditionalCheckRequests"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("AdditionalData") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (JSON)"); + + b.Property("CheckInId") + .HasColumnType("char(36)") + .HasComment("CheckInId āļŠāļģāļŦāļĢāļąāļš Check-Out"); + + b.Property("CheckType") + .HasColumnType("longtext") + .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē: CHECK_IN, CHECK_OUT"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("ErrorMessage") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + 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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.Property("TaskId") + .HasColumnType("char(36)") + .HasComment("Task ID āļŠāļģāļŦāļĢāļąāļšāļ•āļīāļ”āļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™"); + + b.HasKey("Id"); + + b.ToTable("CheckInJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("Description") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ"); + + b.Property("EndTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("EndTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.Property("IsActive") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ (āđ€āļ›āļīāļ”/āļ›āļīāļ”)"); + + b.Property("IsDefault") + .HasColumnType("tinyint(1)") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ§āđˆāļēāļĢāļ­āļšāđƒāļ”āđ€āļ›āđ‡āļ™āļ„āđˆāļē Default āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ (āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ­āļš)"); + + 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("StartTimeAfternoon") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); + + b.Property("StartTimeMorning") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); + + b.HasKey("Id"); + + b.ToTable("DutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CompletedDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedDate") + .HasColumnType("datetime(6)") + .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("EndDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”"); + + b.Property("ErrorMessage") + .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("ProcessingDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Root DNA Id"); + + b.Property("StartDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™"); + + b.Property("Status") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); + + b.HasKey("Id"); + + b.ToTable("LeaveProcessJobStatuses"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckInStatus") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("CheckOutStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ° Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("EditReason") + .HasColumnType("longtext") + .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("EditStatus") + .HasColumnType("longtext") + .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ‚āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); + + b.Property("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("ProcessUserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Calendar") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļ›āļāļīāļ—āļīāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ āļ‚āļĢāļ āļ›āļāļ•āļī āļŦāļĢāļ·āļ­ 6 āļ§āļąāļ™āļ•āđˆāļ­āļŠāļąāļ›āļ”āļēāļŦāđŒ"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("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("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.HasKey("Id"); + + b.ToTable("UserCalendars"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("CreatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(100) + .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); + + b.Property("CreatedFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(104) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("CreatedUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(101) + .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); + + b.Property("DutyTimeId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē"); + + b.Property("EffectiveDate") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĄāļĩāļœāļĨ"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("LastUpdateFullName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasColumnOrder(105) + .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdateUserId") + .IsRequired() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnOrder(103) + .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); + + b.Property("LastUpdatedAt") + .HasColumnType("datetime(6)") + .HasColumnOrder(102) + .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); + + b.Property("ProfileId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); + + b.Property("Remark") + .HasColumnType("longtext") + .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.HasIndex("DutyTimeId"); + + b.ToTable("UserDutyTimes"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)") + .HasColumnOrder(0) + .HasComment("PrimaryKey") + .HasAnnotation("Relational:JsonPropertyName", "id"); + + b.Property("CheckIn") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); + + b.Property("CheckInImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); + + b.Property("CheckInLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); + + b.Property("CheckInPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); + + b.Property("CheckInRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); + + b.Property("CheckOut") + .HasColumnType("datetime(6)") + .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); + + b.Property("CheckOutImageUrl") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLat") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutLocationName") + .HasColumnType("longtext") + .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); + + b.Property("CheckOutLon") + .HasColumnType("double") + .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); + + b.Property("CheckOutPOI") + .IsRequired() + .HasColumnType("longtext") + .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); + + b.Property("CheckOutRemark") + .HasColumnType("longtext") + .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); + + b.Property("Child1") + .HasColumnType("longtext"); + + b.Property("Child1DnaId") + .HasColumnType("char(36)"); + + b.Property("Child1Id") + .HasColumnType("char(36)"); + + b.Property("Child2") + .HasColumnType("longtext"); + + b.Property("Child2DnaId") + .HasColumnType("char(36)"); + + b.Property("Child2Id") + .HasColumnType("char(36)"); + + b.Property("Child3") + .HasColumnType("longtext"); + + b.Property("Child3DnaId") + .HasColumnType("char(36)"); + + b.Property("Child3Id") + .HasColumnType("char(36)"); + + b.Property("Child4") + .HasColumnType("longtext"); + + b.Property("Child4DnaId") + .HasColumnType("char(36)"); + + b.Property("Child4Id") + .HasColumnType("char(36)"); + + b.Property("CitizenId") + .HasColumnType("longtext"); + + 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("FirstName") + .HasColumnType("longtext"); + + b.Property("Gender") + .HasColumnType("longtext"); + + b.Property("IsLocationCheckIn") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); + + b.Property("IsLocationCheckOut") + .HasColumnType("tinyint(1)") + .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); + + b.Property("IsProcess") + .HasColumnType("tinyint(1)") + .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); + + b.Property("KeycloakUserId") + .HasColumnType("char(36)") + .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); + + b.Property("LastName") + .HasColumnType("longtext"); + + 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("Prefix") + .HasColumnType("longtext"); + + b.Property("ProfileId") + .HasColumnType("char(36)"); + + b.Property("ProfileType") + .HasColumnType("longtext"); + + b.Property("Root") + .HasColumnType("longtext"); + + b.Property("RootDnaId") + .HasColumnType("char(36)"); + + b.Property("RootId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("UserTimeStamps"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "LeaveType") + .WithMany() + .HasForeignKey("LeaveTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveType"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") + .WithMany() + .HasForeignKey("DocumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("LeaveDocument") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Document"); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveCancelDocument") + .WithMany() + .HasForeignKey("LeaveCancelDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveDraftDocument") + .WithMany() + .HasForeignKey("LeaveDraftDocumentId"); + + b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "Type") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveCancelDocument"); + + b.Navigation("LeaveDraftDocument"); + + b.Navigation("Type"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") + .WithMany("Approvers") + .HasForeignKey("LeaveRequestId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LeaveRequest"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => + { + b.HasOne("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", "DutyTime") + .WithMany() + .HasForeignKey("DutyTimeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DutyTime"); + }); + + modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => + { + b.Navigation("Approvers"); + + b.Navigation("LeaveDocument"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs new file mode 100644 index 00000000..deabdd48 --- /dev/null +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs @@ -0,0 +1,28 @@ +ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace BMA.EHR.Infrastructure.Migrations.LeaveDb +{ + /// + public partial class AddUniqueIndexLeaveBeginningProfileIdYearTypeId : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateIndex( + name: "IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId", + table: "LeaveBeginnings", + columns: new[] { "ProfileId", "LeaveYear", "LeaveTypeId" }, + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropIndex( + name: "IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId", + table: "LeaveBeginnings"); + } + } +} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs index 99694a78..053f6d99 100644 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs @@ -226,6 +226,10 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("LeaveTypeId"); + b.HasIndex("ProfileId", "LeaveYear", "LeaveTypeId") + .IsUnique() + .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId"); + b.ToTable("LeaveBeginnings"); }); diff --git a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs index 10064197..115a2ffc 100644 --- a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs +++ b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs @@ -61,5 +61,18 @@ namespace BMA.EHR.Infrastructure.Persistence { base.Entry(entity).State = EntityState.Detached; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + // Composite unique index on the natural key for LeaveBeginning. + // Prevents duplicate rows when concurrent requests (e.g. UI calling /user/check twice) + // race through the get-or-create flow in LeaveBeginningRepository. + modelBuilder.Entity() + .HasIndex(b => new { b.ProfileId, b.LeaveYear, b.LeaveTypeId }) + .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId") + .IsUnique(); + } } } diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 5fbca2cc..85c19b79 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1016,6 +1016,30 @@ namespace BMA.EHR.Leave.Service.Controllers }); } + /// + /// āļ—āļ”āļŠāļ­āļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ beginning + /// + /// + /// + [HttpGet("process-beginning/{year:int}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [AllowAnonymous] + public async Task> ProcessBeginningByYearAsync([FromRoute] int year) + { + try + { + await _leaveBeginningRepository.ProcessEarlyLeaveRequest(year); + return Success(); + } + catch (Exception e) + { + return Error(e); + } + } + + /// /// LV2_003 - āđ€āļŠāđ‡āļ„āļāļēāļĢāļĒāļ·āļ™āļ‚āļ­āļĨāļē (USER) /// diff --git a/BMA.EHR.Leave/Program.cs b/BMA.EHR.Leave/Program.cs index 3dd83203..5a396430 100644 --- a/BMA.EHR.Leave/Program.cs +++ b/BMA.EHR.Leave/Program.cs @@ -18,6 +18,7 @@ using System.Text; using Hangfire; using Hangfire.MySql; using System.Transactions; +using BMA.EHR.Application.Repositories.Leaves.LeaveRequests; using BMA.EHR.Leave.Service.Filters; using Hangfire.Common; using BMA.EHR.Application.Repositories.Leaves.TimeAttendants; @@ -194,10 +195,28 @@ app.UseHangfireDashboard("/hangfire", new DashboardOptions() var manager = new RecurringJobManager(); if (manager != null) { - manager.AddOrUpdate("āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™", Job.FromExpression(x => x.UpdateUserDutyTime()), "0 1 * * *", bangkokTimeZone); + manager.AddOrUpdate("āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļēāļ—āļģāļ‡āļēāļ™", Job.FromExpression(x => x.UpdateUserDutyTime()), "0 1 * * *", + new RecurringJobOptions + { + TimeZone = bangkokTimeZone, + QueueName = "leave" + }); // āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ CheckIn Job Status āļ—āļĩāđˆāđ€āļāđˆāļēāļāļ§āđˆāļē 30 āļ§āļąāļ™ - āļĢāļąāļ™āļ—āļļāļāļ§āļąāļ™āđ€āļ§āļĨāļē 02:00 āļ™. - manager.AddOrUpdate("āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ CheckIn Job Status", Job.FromExpression(x => x.CleanupOldJobsAsync(30)), "0 2 * * *", bangkokTimeZone); - + manager.AddOrUpdate("āļ—āļģāļ„āļ§āļēāļĄāļŠāļ°āļ­āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ CheckIn Job Status", Job.FromExpression(x => x.CleanupOldJobsAsync(30)), "0 2 * * *", + new RecurringJobOptions + { + TimeZone = bangkokTimeZone, + QueueName = "leave" + }); + + manager.AddOrUpdate("Proceess Beginning āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĨāļēāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē", Job.FromExpression(x => x.ProcessEarlyLeaveRequestSchedule()), "0 1 1 10 *", + new RecurringJobOptions + { + TimeZone = bangkokTimeZone, + QueueName = "leave" + }); + + // āļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ° mark āļ‡āļēāļ™ CheckIn āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™ 30 āļ™āļēāļ—āļĩāđ€āļ›āđ‡āļ™ FAILED - āļĢāļąāļ™āļ—āļļāļ 15 āļ™āļēāļ—āļĩ // manager.AddOrUpdate("āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‡āļēāļ™ CheckIn āļ—āļĩāđˆāļ„āđ‰āļēāļ‡āđ€āļāļīāļ™āđ€āļ§āļĨāļē", Job.FromExpression(x => x.MarkStaleJobsAsFailedAsync(30)), "*/15 * * * *", // new RecurringJobOptions From 6843e3ff3f4e8aa2632f35170aad684c21d4acf5 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 19 Jun 2026 11:11:46 +0700 Subject: [PATCH 74/90] fix #2551 Error --- ...eginning ProfileId Year TypeId.Designer.cs | 1816 ----------------- ...ex LeaveBeginning ProfileId Year TypeId.cs | 28 - .../LeaveDb/LeaveDbContextModelSnapshot.cs | 32 +- .../Persistence/LeaveDbContext.cs | 13 - 4 files changed, 14 insertions(+), 1875 deletions(-) delete mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs delete mode 100644 BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs deleted file mode 100644 index d2d336f9..00000000 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.Designer.cs +++ /dev/null @@ -1,1816 +0,0 @@ -ïŧŋ// -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.LeaveDb -{ - [DbContext(typeof(LeaveDbContext))] - [Migration("20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId")] - partial class AddUniqueIndexLeaveBeginningProfileIdYearTypeId - { - /// - 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.Documents.Document", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CreatedDate") - .HasColumnType("datetime(6)"); - - b.Property("Detail") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileName") - .IsRequired() - .HasMaxLength(255) - .HasColumnType("varchar(255)"); - - b.Property("FileSize") - .HasColumnType("int"); - - b.Property("FileType") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("varchar(128)"); - - b.Property("ObjectRefId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.ToTable("Document"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("Code") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("LastUpdateFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(105) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdateUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(103) - .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(102) - .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); - - b.Property("Limit") - .HasColumnType("int") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļŠāļđāļ‡āļŠāļļāļ”āļ›āļĢāļ°āļˆāļģāļ›āļĩ"); - - b.Property("Name") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ·āđˆāļ­āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); - - b.HasKey("Id"); - - b.ToTable("LeaveTypes"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("BeginningLeaveCount") - .HasColumnType("int") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļĒāļāļĄāļē"); - - b.Property("BeginningLeaveDays") - .HasColumnType("double") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļĒāļāļĄāļē"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("FirstName") - .HasColumnType("longtext"); - - b.Property("LastName") - .HasColumnType("longtext"); - - 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("LeaveCount") - .HasColumnType("int") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĨāļēāļŠāļ°āļŠāļĄ"); - - b.Property("LeaveDays") - .HasColumnType("double") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļąāđ‰āļ‡āļŦāļĄāļ”"); - - b.Property("LeaveDaysUsed") - .HasColumnType("double") - .HasComment("āļˆāļģāļ™āļ§āļ™āļ§āļąāļ™āļĨāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđ„āļ›"); - - b.Property("LeaveTypeId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠāļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); - - b.Property("LeaveYear") - .HasColumnType("int") - .HasComment("āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“"); - - b.Property("Prefix") - .HasColumnType("longtext"); - - b.Property("ProfileId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("LeaveTypeId"); - - b.HasIndex("ProfileId", "LeaveYear", "LeaveTypeId") - .IsUnique() - .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId"); - - b.ToTable("LeaveBeginnings"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("DocumentId") - .HasColumnType("char(36)"); - - b.Property("LastUpdateFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(105) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdateUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(103) - .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(102) - .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); - - b.Property("LeaveRequestId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("DocumentId"); - - b.HasIndex("LeaveRequestId"); - - b.ToTable("LeaveDocuments"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("AbsentDayAt") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("AbsentDayGetIn") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("AbsentDayLocation") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("AbsentDayRegistorDate") - .HasColumnType("datetime(6)"); - - b.Property("AbsentDaySummon") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("Amount") - .HasColumnType("double"); - - b.Property("ApproveStep") - .HasColumnType("longtext") - .HasComment("step āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī st1 = āļˆāļ—āļ™.āļ­āļ™āļļāļĄāļąāļ•āļ·,st2 = āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē āļ­āļ™āļļāļĄāļąāļ•āļī "); - - b.Property("BirthDate") - .HasColumnType("datetime(6)"); - - b.Property("CancelLeaveWrote") - .HasColumnType("longtext") - .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ (āļ‚āļ­āļĒāļāđ€āļĨāļīāļ)"); - - b.Property("Child1") - .HasColumnType("longtext"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child1Id") - .HasColumnType("char(36)"); - - b.Property("Child2") - .HasColumnType("longtext"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2Id") - .HasColumnType("char(36)"); - - b.Property("Child3") - .HasColumnType("longtext"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3Id") - .HasColumnType("char(36)"); - - b.Property("Child4") - .HasColumnType("longtext"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4Id") - .HasColumnType("char(36)"); - - b.Property("CitizenId") - .HasColumnType("longtext"); - - b.Property("CommanderPosition") - .HasColumnType("longtext"); - - b.Property("CoupleDayCountryHistory") - .HasColumnType("longtext"); - - b.Property("CoupleDayEndDateHistory") - .HasColumnType("datetime(6)"); - - b.Property("CoupleDayLevel") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("CoupleDayLevelCountry") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("CoupleDayName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("CoupleDayPosition") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("CoupleDayStartDateHistory") - .HasColumnType("datetime(6)"); - - b.Property("CoupleDaySumTotalHistory") - .HasColumnType("longtext"); - - b.Property("CoupleDayTotalHistory") - .HasColumnType("longtext"); - - 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("DateAppoint") - .HasColumnType("datetime(6)"); - - b.Property("DateSendLeave") - .HasColumnType("datetime(6)"); - - b.Property("Dear") - .HasColumnType("longtext") - .HasComment("āđ€āļĢāļĩāļĒāļ™āđƒāļ„āļĢ"); - - b.Property("FirstName") - .HasColumnType("longtext"); - - b.Property("Gender") - .HasColumnType("longtext"); - - b.Property("HajjDayStatus") - .HasColumnType("tinyint(1)"); - - b.Property("KeycloakUserId") - .HasColumnType("char(36)"); - - b.Property("LastName") - .HasColumnType("longtext"); - - 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("LeaveAddress") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); - - b.Property("LeaveBirthDate") - .HasColumnType("datetime(6)"); - - b.Property("LeaveCancelComment") - .HasColumnType("longtext") - .HasComment("āđ€āļŦāļ•āļļāļœāļĨāđƒāļ™āļāļēāļĢāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); - - b.Property("LeaveCancelDocumentId") - .HasColumnType("char(36)"); - - b.Property("LeaveCancelStatus") - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļ‚āļ­āļĒāļāđ€āļĨāļīāļ"); - - b.Property("LeaveComment") - .HasColumnType("longtext") - .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļšāļąāļ‡āļ„āļąāļšāļšāļąāļāļŠāļē"); - - b.Property("LeaveDetail") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļĨāļē"); - - b.Property("LeaveDirectorComment") - .HasColumnType("longtext") - .HasComment("āļ„āļ§āļēāļĄāđ€āļŦāđ‡āļ™āļ‚āļ­āļ‡āļœāļđāđ‰āļ­āļģāļ™āļ§āļĒāļāļēāļĢāļŠāļģāļ™āļąāļ"); - - b.Property("LeaveDraftDocumentId") - .HasColumnType("char(36)"); - - b.Property("LeaveEndDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāļŠāļīāđ‰āļ™āļŠāļļāļ”āļĨāļē"); - - b.Property("LeaveGovernmentDate") - .HasColumnType("datetime(6)"); - - b.Property("LeaveLast") - .HasColumnType("datetime(6)"); - - b.Property("LeaveNumber") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļ—āļĩāđˆāļ•āļīāļ”āļ•āđˆāļ­āļ‚āļ“āļ°āļĨāļē"); - - b.Property("LeaveRange") - .HasColumnType("longtext") - .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄ āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); - - b.Property("LeaveRangeEnd") - .HasColumnType("longtext") - .HasComment("āļŠāđˆāļ§āļ‡āļ‚āļ­āļ‡āļāļēāļĢāļĨāļēāļ‚āļ­āļ‡āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ” āđ€āļŠāđˆāļ™ āļĨāļēāļ—āļąāđ‰āļ‡āļ§āļąāļ™ āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āđ€āļŠāđ‰āļē āļ„āļĢāļķāđˆāļ‡āļ§āļąāļ™āļšāđˆāļēāļĒ"); - - b.Property("LeaveSalary") - .HasColumnType("int"); - - b.Property("LeaveSalaryText") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("LeaveStartDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ”āļ·āļ­āļ™ āļ›āļĩāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļĨāļē"); - - b.Property("LeaveStatus") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļ„āļģāļĢāđ‰āļ­āļ‡"); - - b.Property("LeaveSubTypeName") - .HasColumnType("longtext"); - - b.Property("LeaveTotal") - .HasColumnType("double"); - - b.Property("LeaveTypeCode") - .HasColumnType("longtext") - .HasComment("code āļ‚āļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļē"); - - b.Property("LeaveWrote") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āđ€āļ‚āļĩāļĒāļ™āļ—āļĩāđˆ"); - - b.Property("OrdainDayBuddhistLentAddress") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("OrdainDayBuddhistLentName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("OrdainDayLocationAddress") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("OrdainDayLocationName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("OrdainDayLocationNumber") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("OrdainDayOrdination") - .HasColumnType("datetime(6)"); - - b.Property("OrdainDayStatus") - .HasColumnType("tinyint(1)"); - - b.Property("OrganizationName") - .HasColumnType("longtext") - .HasComment("āļŠāļąāļ‡āļāļąāļ”āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); - - b.Property("PositionLevelName") - .HasColumnType("longtext") - .HasComment("āļĢāļ°āļ”āļąāļšāļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); - - b.Property("PositionName") - .HasColumnType("longtext") - .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļœāļđāđ‰āļĒāļ·āđˆāļ™āļ‚āļ­"); - - b.Property("Prefix") - .HasColumnType("longtext"); - - b.Property("ProfileId") - .HasColumnType("char(36)"); - - b.Property("ProfileType") - .HasColumnType("longtext"); - - b.Property("RestDayCurrentTotal") - .HasColumnType("double"); - - b.Property("RestDayOldTotal") - .HasColumnType("double"); - - b.Property("Root") - .HasColumnType("longtext"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.Property("RootId") - .HasColumnType("char(36)"); - - b.Property("StudyDayCountry") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDayDegreeLevel") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDayScholarship") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDaySubject") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDayTrainingName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDayTrainingSubject") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("StudyDayUniversityName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("TypeId") - .HasColumnType("char(36)"); - - b.Property("WifeDayDateBorn") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("WifeDayName") - .IsRequired() - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("LeaveCancelDocumentId"); - - b.HasIndex("LeaveDraftDocumentId"); - - b.HasIndex("TypeId"); - - b.ToTable("LeaveRequests"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("ApproveStatus") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("ApproveType") - .HasColumnType("longtext"); - - b.Property("Comment") - .IsRequired() - .HasColumnType("longtext"); - - 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("FirstName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("IsAct") - .HasColumnType("tinyint(1)"); - - b.Property("KeyId") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("KeycloakId") - .HasColumnType("char(36)"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("longtext"); - - 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("LeaveRequestId") - .HasColumnType("char(36)"); - - b.Property("OrganizationName") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļąāļ‡āļāļąāļ”"); - - b.Property("PosExecutiveName") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āļ—āļēāļ‡āļāļēāļĢāļšāļĢāļīāļŦāļēāļĢ"); - - b.Property("PositionLevelName") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļĢāļ°āļ”āļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡"); - - b.Property("PositionName") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("PositionSign") - .HasColumnType("longtext") - .HasComment("āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ•āđ‰āļĨāļēāļĒāđ€āļŠāđ‡āļ™āļ•āđŒ"); - - b.Property("Prefix") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("ProfileId") - .HasColumnType("char(36)"); - - b.Property("Seq") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("LeaveRequestId"); - - b.ToTable("LeaveRequestApprovers"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CheckDate") - .HasColumnType("datetime(6)") - .HasComment("*āļ§āļąāļ™āļ—āļĩāđˆāļĨāļ‡āđ€āļ§āļĨāļē"); - - b.Property("CheckInEdit") - .HasColumnType("tinyint(1)") - .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); - - b.Property("CheckOutEdit") - .HasColumnType("tinyint(1)") - .HasComment("*āļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("Comment") - .HasColumnType("longtext") - .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāđƒāļ™āļāļēāļĢāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļī"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("Description") - .IsRequired() - .HasColumnType("longtext") - .HasComment("*āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); - - b.Property("FirstName") - .HasColumnType("longtext"); - - b.Property("KeycloakUserId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak āļ—āļĩāđˆāļĢāđ‰āļ­āļ‡āļ‚āļ­"); - - b.Property("LastName") - .HasColumnType("longtext"); - - 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("Latitude") - .HasColumnType("double"); - - b.Property("Longitude") - .HasColumnType("double"); - - b.Property("POI") - .HasColumnType("longtext"); - - b.Property("Prefix") - .HasColumnType("longtext"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.Property("Status") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī"); - - b.HasKey("Id"); - - b.ToTable("AdditionalCheckRequests"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("AdditionalData") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (JSON)"); - - b.Property("CheckInId") - .HasColumnType("char(36)") - .HasComment("CheckInId āļŠāļģāļŦāļĢāļąāļš Check-Out"); - - b.Property("CheckType") - .HasColumnType("longtext") - .HasComment("āļ›āļĢāļ°āđ€āļ āļ—āļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē: CHECK_IN, CHECK_OUT"); - - b.Property("CompletedDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedDate") - .HasColumnType("datetime(6)") - .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("ErrorMessage") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”"); - - b.Property("KeycloakUserId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); - - 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("ProcessingDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); - - b.Property("Status") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); - - b.Property("TaskId") - .HasColumnType("char(36)") - .HasComment("Task ID āļŠāļģāļŦāļĢāļąāļšāļ•āļīāļ”āļ•āļēāļĄāļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™"); - - b.HasKey("Id"); - - b.ToTable("CheckInJobStatuses"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("Description") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļ„āļģāļ­āļ˜āļīāļšāļēāļĒ"); - - b.Property("EndTimeAfternoon") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); - - b.Property("EndTimeMorning") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āđ€āļ§āļĨāļēāļ­āļ­āļāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); - - b.Property("IsActive") - .HasColumnType("tinyint(1)") - .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļ‡āļēāļ™ (āđ€āļ›āļīāļ”/āļ›āļīāļ”)"); - - b.Property("IsDefault") - .HasColumnType("tinyint(1)") - .HasComment("āļŠāļ–āļēāļ™āļ°āļ§āđˆāļēāļĢāļ­āļšāđƒāļ”āđ€āļ›āđ‡āļ™āļ„āđˆāļē Default āļ‚āļ­āļ‡āļ‚āđ‰āļēāļĢāļēāļŠāļāļēāļĢ (āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ—āļģāļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ­āļš)"); - - 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("StartTimeAfternoon") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āļšāđˆāļēāļĒ"); - - b.Property("StartTimeMorning") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļ‡āļēāļ™āļŠāđˆāļ§āļ‡āđ€āļŠāđ‰āļē"); - - b.HasKey("Id"); - - b.ToTable("DutyTimes"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CompletedDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļŠāļĢāđ‡āļˆāļŠāļīāđ‰āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedDate") - .HasColumnType("datetime(6)") - .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("EndDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āļŠāļīāđ‰āļ™āļŠāļļāļ”"); - - b.Property("ErrorMessage") - .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("ProcessingDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ"); - - b.Property("RootDnaId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ Root DNA Id"); - - b.Property("StartDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™"); - - b.Property("Status") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļ‡āļēāļ™: PENDING, PROCESSING, COMPLETED, FAILED"); - - b.HasKey("Id"); - - b.ToTable("LeaveProcessJobStatuses"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CheckIn") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); - - b.Property("CheckInImageUrl") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); - - b.Property("CheckInLat") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); - - b.Property("CheckInLocationName") - .HasColumnType("longtext") - .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); - - b.Property("CheckInLon") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); - - b.Property("CheckInPOI") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); - - b.Property("CheckInRemark") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); - - b.Property("CheckInStatus") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ° Check-In"); - - b.Property("CheckOut") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); - - b.Property("CheckOutImageUrl") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); - - b.Property("CheckOutLat") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); - - b.Property("CheckOutLocationName") - .HasColumnType("longtext") - .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); - - b.Property("CheckOutLon") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); - - b.Property("CheckOutPOI") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); - - b.Property("CheckOutRemark") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); - - b.Property("CheckOutStatus") - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ° Check-Out"); - - b.Property("Child1") - .HasColumnType("longtext"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child1Id") - .HasColumnType("char(36)"); - - b.Property("Child2") - .HasColumnType("longtext"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2Id") - .HasColumnType("char(36)"); - - b.Property("Child3") - .HasColumnType("longtext"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3Id") - .HasColumnType("char(36)"); - - b.Property("Child4") - .HasColumnType("longtext"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4Id") - .HasColumnType("char(36)"); - - b.Property("CitizenId") - .HasColumnType("longtext"); - - 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("EditReason") - .HasColumnType("longtext") - .HasComment("āđ€āļŦāļ•āļļāļœāļĨāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī/āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); - - b.Property("EditStatus") - .HasColumnType("longtext") - .HasComment("āļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ‚āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐ"); - - b.Property("FirstName") - .HasColumnType("longtext"); - - b.Property("Gender") - .HasColumnType("longtext"); - - b.Property("IsLocationCheckIn") - .HasColumnType("tinyint(1)") - .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); - - b.Property("IsLocationCheckOut") - .HasColumnType("tinyint(1)") - .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); - - b.Property("IsProcess") - .HasColumnType("tinyint(1)") - .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); - - b.Property("KeycloakUserId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); - - b.Property("LastName") - .HasColumnType("longtext"); - - 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("Prefix") - .HasColumnType("longtext"); - - b.Property("ProfileId") - .HasColumnType("char(36)"); - - b.Property("ProfileType") - .HasColumnType("longtext"); - - b.Property("Root") - .HasColumnType("longtext"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.Property("RootId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.ToTable("ProcessUserTimeStamps"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("Calendar") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļ›āļāļīāļ—āļīāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ āļ‚āļĢāļ āļ›āļāļ•āļī āļŦāļĢāļ·āļ­ 6 āļ§āļąāļ™āļ•āđˆāļ­āļŠāļąāļ›āļ”āļēāļŦāđŒ"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("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("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); - - b.HasKey("Id"); - - b.ToTable("UserCalendars"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("CreatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(100) - .HasComment("āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ·āđˆāļ­"); - - b.Property("CreatedFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(104) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("CreatedUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(101) - .HasComment("User Id āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ"); - - b.Property("DutyTimeId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠāļĢāļ­āļšāļāļēāļĢāļĨāļ‡āđ€āļ§āļĨāļē"); - - b.Property("EffectiveDate") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™āļ—āļĩāđˆāļĄāļĩāļœāļĨ"); - - b.Property("IsProcess") - .HasColumnType("tinyint(1)") - .HasComment("āļ—āļģāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); - - b.Property("LastUpdateFullName") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("varchar(200)") - .HasColumnOrder(105) - .HasComment("āļŠāļ·āđˆāļ­ User āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdateUserId") - .IsRequired() - .HasMaxLength(40) - .HasColumnType("varchar(40)") - .HasColumnOrder(103) - .HasComment("User Id āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”"); - - b.Property("LastUpdatedAt") - .HasColumnType("datetime(6)") - .HasColumnOrder(102) - .HasComment("āđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļĄāļđāļĨāļĨāđˆāļēāļŠāļļāļ”āđ€āļĄāļ·āđˆāļ­"); - - b.Property("ProfileId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ Profile āđƒāļ™āļĢāļ°āļšāļšāļ—āļ°āđ€āļšāļĩāļĒāļ™āļ›āļĢāļ°āļ§āļąāļ•āļī"); - - b.Property("Remark") - .HasColumnType("longtext") - .HasComment("āļŦāļĄāļēāļĒāđ€āļŦāļ•āļļ"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("DutyTimeId"); - - b.ToTable("UserDutyTimes"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)") - .HasColumnOrder(0) - .HasComment("PrimaryKey") - .HasAnnotation("Relational:JsonPropertyName", "id"); - - b.Property("CheckIn") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āđ€āļ‚āđ‰āļēāļ‡āļēāļ™"); - - b.Property("CheckInImageUrl") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-In"); - - b.Property("CheckInLat") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-In"); - - b.Property("CheckInLocationName") - .HasColumnType("longtext") - .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-In"); - - b.Property("CheckInLon") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-In"); - - b.Property("CheckInPOI") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-In"); - - b.Property("CheckInRemark") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-In"); - - b.Property("CheckOut") - .HasColumnType("datetime(6)") - .HasComment("āļ§āļąāļ™ āđ€āļ§āļĨāļē āļ­āļ­āļāļ‡āļēāļ™"); - - b.Property("CheckOutImageUrl") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļĢāļđāļ›āļ–āđˆāļēāļĒāļŠāļ–āļēāļ™āļ—āļĩāđˆ Check-Out"); - - b.Property("CheckOutLat") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ°āļ•āļīāļˆāļđāļ” Check-Out"); - - b.Property("CheckOutLocationName") - .HasColumnType("longtext") - .HasComment("āļāļĢāļ“āļĩāđ€āļĨāļ·āļ­āļāļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆ Check-Out"); - - b.Property("CheckOutLon") - .HasColumnType("double") - .HasComment("āļžāļīāļāļąāļ”āļĨāļ­āļ‡āļˆāļīāļˆāļđāļ” Check-Out"); - - b.Property("CheckOutPOI") - .IsRequired() - .HasColumnType("longtext") - .HasComment("āļŠāļ·āđˆāļ­āļŠāļ–āļēāļ™āļ—āļĩāđˆ āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļĢāļ°āļšāļš ArcGis āļ‚āļ­āļ‡āļāļ­āļ‡āļŠāļēāļĢāļŠāļ™āđ€āļ—āļĻāļ āļđāļĄāļīāļĻāļēāļŠāļ•āļĢāđŒ Check-Out"); - - b.Property("CheckOutRemark") - .HasColumnType("longtext") - .HasComment("āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒāđ€āļŦāļ•āļļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļ°āļšāļļāđ€āļžāļīāđˆāļĄ(āļĄāļĩāđ€āļœāļ·āđˆāļ­āđ„āļ§āđ‰āļ­āļēāļˆāđ„āļĄāđˆāđ„āļ”āđ‰āđƒāļŠāđ‰) Check-Out"); - - b.Property("Child1") - .HasColumnType("longtext"); - - b.Property("Child1DnaId") - .HasColumnType("char(36)"); - - b.Property("Child1Id") - .HasColumnType("char(36)"); - - b.Property("Child2") - .HasColumnType("longtext"); - - b.Property("Child2DnaId") - .HasColumnType("char(36)"); - - b.Property("Child2Id") - .HasColumnType("char(36)"); - - b.Property("Child3") - .HasColumnType("longtext"); - - b.Property("Child3DnaId") - .HasColumnType("char(36)"); - - b.Property("Child3Id") - .HasColumnType("char(36)"); - - b.Property("Child4") - .HasColumnType("longtext"); - - b.Property("Child4DnaId") - .HasColumnType("char(36)"); - - b.Property("Child4Id") - .HasColumnType("char(36)"); - - b.Property("CitizenId") - .HasColumnType("longtext"); - - 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("FirstName") - .HasColumnType("longtext"); - - b.Property("Gender") - .HasColumnType("longtext"); - - b.Property("IsLocationCheckIn") - .HasColumnType("tinyint(1)") - .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-In"); - - b.Property("IsLocationCheckOut") - .HasColumnType("tinyint(1)") - .HasComment("true āļ„āļ·āļ­ āļ“ āļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡, false āļ„āļ·āļ­ āļ™āļ­āļāļŠāļ–āļēāļ™āļ—āļĩāđˆāļ•āļąāđ‰āļ‡ Check-Out"); - - b.Property("IsProcess") - .HasColumnType("tinyint(1)") - .HasComment("āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡"); - - b.Property("KeycloakUserId") - .HasColumnType("char(36)") - .HasComment("āļĢāļŦāļąāļŠ User āļ‚āļ­āļ‡ Keycloak"); - - b.Property("LastName") - .HasColumnType("longtext"); - - 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("Prefix") - .HasColumnType("longtext"); - - b.Property("ProfileId") - .HasColumnType("char(36)"); - - b.Property("ProfileType") - .HasColumnType("longtext"); - - b.Property("Root") - .HasColumnType("longtext"); - - b.Property("RootDnaId") - .HasColumnType("char(36)"); - - b.Property("RootId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.ToTable("UserTimeStamps"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => - { - b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "LeaveType") - .WithMany() - .HasForeignKey("LeaveTypeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("LeaveType"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => - { - b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "Document") - .WithMany() - .HasForeignKey("DocumentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") - .WithMany("LeaveDocument") - .HasForeignKey("LeaveRequestId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Document"); - - b.Navigation("LeaveRequest"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => - { - b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveCancelDocument") - .WithMany() - .HasForeignKey("LeaveCancelDocumentId"); - - b.HasOne("BMA.EHR.Domain.Models.Documents.Document", "LeaveDraftDocument") - .WithMany() - .HasForeignKey("LeaveDraftDocumentId"); - - b.HasOne("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", "Type") - .WithMany() - .HasForeignKey("TypeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("LeaveCancelDocument"); - - b.Navigation("LeaveDraftDocument"); - - b.Navigation("Type"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => - { - b.HasOne("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", "LeaveRequest") - .WithMany("Approvers") - .HasForeignKey("LeaveRequestId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("LeaveRequest"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => - { - b.HasOne("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", "DutyTime") - .WithMany() - .HasForeignKey("DutyTimeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("DutyTime"); - }); - - modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => - { - b.Navigation("Approvers"); - - b.Navigation("LeaveDocument"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs deleted file mode 100644 index deabdd48..00000000 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/20260619032119_Add Unique Index LeaveBeginning ProfileId Year TypeId.cs +++ /dev/null @@ -1,28 +0,0 @@ -ïŧŋusing Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace BMA.EHR.Infrastructure.Migrations.LeaveDb -{ - /// - public partial class AddUniqueIndexLeaveBeginningProfileIdYearTypeId : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateIndex( - name: "IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId", - table: "LeaveBeginnings", - columns: new[] { "ProfileId", "LeaveYear", "LeaveTypeId" }, - unique: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropIndex( - name: "IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId", - table: "LeaveBeginnings"); - } - } -} diff --git a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs index 053f6d99..929783f7 100644 --- a/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs +++ b/BMA.EHR.Infrastructure/Migrations/LeaveDb/LeaveDbContextModelSnapshot.cs @@ -50,7 +50,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("Document"); + b.ToTable("Document", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Commons.LeaveType", b => @@ -116,7 +116,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("LeaveTypes"); + b.ToTable("LeaveTypes", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => @@ -226,11 +226,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("LeaveTypeId"); - b.HasIndex("ProfileId", "LeaveYear", "LeaveTypeId") - .IsUnique() - .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId"); - - b.ToTable("LeaveBeginnings"); + b.ToTable("LeaveBeginnings", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveDocument", b => @@ -292,7 +288,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("LeaveRequestId"); - b.ToTable("LeaveDocuments"); + b.ToTable("LeaveDocuments", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequest", b => @@ -671,7 +667,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("TypeId"); - b.ToTable("LeaveRequests"); + b.ToTable("LeaveRequests", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveRequestApprover", b => @@ -790,7 +786,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("LeaveRequestId"); - b.ToTable("LeaveRequestApprovers"); + b.ToTable("LeaveRequestApprovers", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.AdditionalCheckRequest", b => @@ -905,7 +901,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("AdditionalCheckRequests"); + b.ToTable("AdditionalCheckRequests", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.CheckInJobStatus", b => @@ -998,7 +994,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("CheckInJobStatuses"); + b.ToTable("CheckInJobStatuses", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b => @@ -1083,7 +1079,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("DutyTimes"); + b.ToTable("DutyTimes", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.LeaveProcessJobStatus", b => @@ -1168,7 +1164,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("LeaveProcessJobStatuses"); + b.ToTable("LeaveProcessJobStatuses", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.ProcessUserTimeStamp", b => @@ -1379,7 +1375,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("ProcessUserTimeStamps"); + b.ToTable("ProcessUserTimeStamps", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserCalendar", b => @@ -1440,7 +1436,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("UserCalendars"); + b.ToTable("UserCalendars", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserDutyTime", b => @@ -1529,7 +1525,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasIndex("DutyTimeId"); - b.ToTable("UserDutyTimes"); + b.ToTable("UserDutyTimes", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b => @@ -1723,7 +1719,7 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb b.HasKey("Id"); - b.ToTable("UserTimeStamps"); + b.ToTable("UserTimeStamps", (string)null); }); modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.Requests.LeaveBeginning", b => diff --git a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs index 115a2ffc..10064197 100644 --- a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs +++ b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs @@ -61,18 +61,5 @@ namespace BMA.EHR.Infrastructure.Persistence { base.Entry(entity).State = EntityState.Detached; } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - base.OnModelCreating(modelBuilder); - - // Composite unique index on the natural key for LeaveBeginning. - // Prevents duplicate rows when concurrent requests (e.g. UI calling /user/check twice) - // race through the get-or-create flow in LeaveBeginningRepository. - modelBuilder.Entity() - .HasIndex(b => new { b.ProfileId, b.LeaveYear, b.LeaveTypeId }) - .HasDatabaseName("IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId") - .IsUnique(); - } } } From 030098c0b9e90ddb95c7cd78c7ffef504225a3e7 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 19 Jun 2026 11:50:36 +0700 Subject: [PATCH 75/90] fix fiscal Year #2551 --- .../LeaveRequests/LeaveBeginingRepository.cs | 84 ++++++++++++++++++- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs index 7cf4dee7..c98ca11e 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs @@ -130,16 +130,19 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task ProcessEarlyLeaveRequest(int year) { - // Get Early Leave Request + // Get Early Leave Request (āļāļĢāļ­āļ‡āļ•āļēāļĄāļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“: 1 āļ•.āļ„. (year-1) – 30 āļ.āļĒ. (year)) + var fiscalStart = new DateTime(year - 1, 10, 1); + var fiscalEnd = new DateTime(year, 9, 30); + var leaveReq = await _dbContext.Set() .Include(x => x.Type) .Where(x => x.LeaveStatus == "APPROVE") - .Where(x => x.LeaveStartDate.Year == year || x.LeaveEndDate.Year == year) + .Where(x => x.LeaveStartDate.Date <= fiscalEnd && x.LeaveEndDate.Date >= fiscalStart) .ToListAsync(); foreach (var leave in leaveReq) { - await GetByYearAndTypeIdForUserAsync(year, leave.Type.Id, leave.KeycloakUserId); + await GetByYearAndTypeIdForUserWithUpdateAsync(year, leave.Type.Id, leave.KeycloakUserId); } } @@ -215,6 +218,81 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory); } + public async Task GetByYearAndTypeIdForUserWithUpdateAsync(int year, Guid typeId, Guid userId) + { + // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken); + var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken); + if (pf == null) + { + throw new Exception(GlobalMessages.DataNotFound); + } + + var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date); + + var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId); + + + var limit = 0.0; + + var prev = _dbContext.Set() + .Include(x => x.LeaveType) + .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + + var prevRemain = 0.0; + if (prev != null) + { + prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); + } + + if (govAge >= 180) + { + if (govAge >= 3650) + { + limit = 10 + prevRemain; + if (limit > 30) limit = 30; + } + else + { + limit = 10 + prevRemain; + if (limit > 20) limit = 20; + } + } + else + { + limit = 0.0; + } + + var data = await _dbContext.Set() + .Where(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id) + .FirstOrDefaultAsync(); + + if (data != null) + { + data.LeaveDays = leaveType?.Code == "LV-005" ? limit : 0; + await _dbContext.SaveChangesAsync(); + } + + // return new LeaveBeginning + // { + // LeaveYear = year, + // LeaveTypeId = typeId, + // ProfileId = pf.Id, + // Prefix = pf.Prefix, + // FirstName = pf.FirstName, + // LastName = pf.LastName, + // LeaveDaysUsed = 0, + // LeaveDays = leaveType?.Code == "LV-005" ? limit : 0, + // RootDnaId = pf.RootDnaId, + // Child1DnaId = pf.Child1DnaId, + // Child2DnaId = pf.Child2DnaId, + // Child3DnaId = pf.Child3DnaId, + // Child4DnaId = pf.Child4DnaId + // }; + return data; + + } + + public async Task GetByYearAndTypeIdForUser(int year, Guid typeId, GetProfileByKeycloakIdDto? pf) { var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date); From 5d090fa7bdd89fda778b9be4b23dc8b2d8f67e68 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 10:18:21 +0700 Subject: [PATCH 76/90] #2551 --- .../LeaveRequests/LeaveBeginingRepository.cs | 9 +++- .../LeaveRequests/LeaveRequestRepository.cs | 51 ++++++++++++++++--- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs index c98ca11e..c2ba8abb 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs @@ -172,11 +172,15 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prev = _dbContext.Set() .Include(x => x.LeaveType) .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var isCurrentYear = DateTime.Now.Year == year; + var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); + prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0; } if (govAge >= 180) @@ -239,6 +243,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); var prevRemain = 0.0; + + + if (prev != null) { prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 3070ee88..05737cfa 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1937,12 +1937,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task GetSumApproveLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ?? x.CreatedAt) <= endDate)) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1954,12 +1959,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ?? x.CreatedAt) < endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1971,12 +1981,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.ProfileId == profileId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1988,12 +2003,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.ProfileId == profileId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -2002,12 +2022,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -2024,13 +2049,18 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests /// public async Task GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ?? x.CreatedAt).Date < endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => x.LeaveStatus == "DRAFT") .ToListAsync(); @@ -2050,12 +2080,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests /// public async Task GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) { + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); + var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) < endDate)) - //.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) + .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) .Where(x => (x.LeaveStatus == "NEW" || x.LeaveStatus == "PENDING")) .ToListAsync(); From fcea84bdb8bb0ea626e423ac9de3c22dcedb9f91 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 10:54:59 +0700 Subject: [PATCH 77/90] fix fiscal start and end date #2551 --- .../Leaves/LeaveRequests/LeaveBeginingRepository.cs | 10 ++++++++-- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 6 +++++- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 10 +++++++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs index c2ba8abb..add1361b 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs @@ -313,11 +313,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prev = _dbContext.Set() .Include(x => x.LeaveType) .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var isCurrentYear = DateTime.Now.Year == year; var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); + prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0; } if (govAge >= 180) @@ -379,11 +382,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests var prev = _dbContext.Set() .Include(x => x.LeaveType) .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id); + + // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) + var isCurrentYear = DateTime.Now.Year == year; var prevRemain = 0.0; if (prev != null) { - prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0); + prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0; } if (govAge >= 180) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 1b76947c..0bd07075 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -155,6 +155,10 @@ namespace BMA.EHR.Leave.Service.Controllers var lastLeaveRequest = await _leaveRequestRepository.GetLastLeaveRequestByTypeForUserAsync2(data.KeycloakUserId, data.Type.Id, data.CreatedAt); + + var fiscalYear = data.LeaveStartDate.Month >= 10 ? data.LeaveStartDate.Year + 1 : data.LeaveStartDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); var startFiscalYear = (new DateTime(data.LeaveStartDate.Year - 1, 10, 1)).Date; var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt); @@ -164,7 +168,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31)) thisYear = thisYear + 1; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 85c19b79..c6eac2ef 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -2903,16 +2903,20 @@ namespace BMA.EHR.Leave.Service.Controllers orgName += $" {rawData.Root}"; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, rawData.Type.Id, rawData.KeycloakUserId); + + var fiscalYear = rawData.LeaveStartDate.Month >= 10 ? rawData.LeaveStartDate.Year + 1 : rawData.LeaveStartDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1); var endFiscalYear = rawData.DateSendLeave ?? rawData.CreatedAt; var endFiscalYear2 = new DateTime(rawData.LeaveStartDate.Year, 9, 30); //var endFiscalYear3 = rawData.DateSendLeave ?? rawData.CreatedAt; - var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear); + var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, endFiscalYear); // āļ§āļąāļ™āļĨāļēāđāļšāļšāļĢāđˆāļēāļ‡āđāļĨāļ°āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ„āļ›āđāļĨāđ‰āļ§ - var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2); - var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2); + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd); //var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed; if (leaveData != null) From be1f6dd84e9a63261635997135c57b8842d3a6ef Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 11:10:29 +0700 Subject: [PATCH 78/90] #2551 --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 0bd07075..764ba1a5 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -338,21 +338,25 @@ namespace BMA.EHR.Leave.Service.Controllers var fullName = $"{profile!.Prefix}{profile!.FirstName} {profile!.LastName}"; var startFiscalYear = new DateTime(data.LeaveStartDate.Year - 1, 10, 1); - var endFiscalYear = data.CreatedAt; + var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt); + + var fiscalYear = data.LeaveStartDate.Month >= 10 ? data.LeaveStartDate.Year + 1 : data.LeaveStartDate.Year; + var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalEnd = new DateTime(fiscalYear, 9, 30); var thisYear = data.LeaveStartDate.Year; var toDay = data.LeaveStartDate.Date; if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31)) thisYear = thisYear + 1; - var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId); + var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(fiscalYear, data.Type.Id, data.KeycloakUserId); //var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, rawData.Type.Id, rawData.KeycloakUserId); //var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed; //var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; From baf828ac854fcad6c7151326fafc900a7ee67932 Mon Sep 17 00:00:00 2001 From: harid Date: Mon, 22 Jun 2026 13:21:33 +0700 Subject: [PATCH 79/90] fix #2571 --- .../Controllers/RetirementOtherController.cs | 6 +----- BMA.EHR.Retirement.Service/Requests/OrgRequest.cs | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 4880f3b6..868aac4f 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -449,11 +449,7 @@ namespace BMA.EHR.Retirement.Service.Controllers retirementOther.PositionLevelOld = org.result.posLevelName; retirementOther.PositionTypeOld = org.result.posTypeName; retirementOther.PositionNumberOld = org.result.posNo; - retirementOther.OrganizationOld = (org.result.child4 == null ? "" : org.result.child4 + "\n") + - (org.result.child3 == null ? "" : org.result.child3 + "\n") + - (org.result.child2 == null ? "" : org.result.child2 + "\n") + - (org.result.child1 == null ? "" : org.result.child1 + "\n") + - (org.result.root == null ? "" : org.result.root); + retirementOther.OrganizationOld = org.result.org ?? ""; retirementOther.OrganizationPositionOld = org.result.position + "\n" + (retirementOther.PositionExecutiveOld == null ? "" : (retirementOther.positionExecutiveField == null ? retirementOther.PositionExecutiveOld + "\n" : retirementOther.PositionExecutiveOld + "(" + retirementOther.positionExecutiveField + ")" + "\n")) + retirementOther.OrganizationOld; diff --git a/BMA.EHR.Retirement.Service/Requests/OrgRequest.cs b/BMA.EHR.Retirement.Service/Requests/OrgRequest.cs index d68ed4a1..0dda38be 100644 --- a/BMA.EHR.Retirement.Service/Requests/OrgRequest.cs +++ b/BMA.EHR.Retirement.Service/Requests/OrgRequest.cs @@ -54,5 +54,6 @@ namespace BMA.EHR.Retirement.Service.Requests public DateTime? leaveDate { get; set; } public string? education { get; set; } public double? salary { get; set; } + public string? org { get; set; } } } \ No newline at end of file From f4f56b1c21ee9b608ec75eb87d14fef4ce40844a Mon Sep 17 00:00:00 2001 From: harid Date: Mon, 22 Jun 2026 16:36:06 +0700 Subject: [PATCH 80/90] =?UTF-8?q?api=20=E0=B8=A5=E0=B8=9A=E0=B8=82?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=84=E0=B8=A7=E0=B8=B2=E0=B8=A1=20noti?= =?UTF-8?q?=20#1599?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MessageQueue/NotificationRepository.cs | 38 +++++++++++++++++++ .../Controllers/MessageController.cs | 25 ++++++++++++ 2 files changed, 63 insertions(+) diff --git a/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs b/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs index a9d5ceb7..9a8d71e3 100644 --- a/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs +++ b/BMA.EHR.Application/Repositories/MessageQueue/NotificationRepository.cs @@ -187,6 +187,44 @@ namespace BMA.EHR.Application.Repositories.MessageQueue } } + private async Task GetMyProfileIdAsync() + { + var apiUrl = $"{_configuration["API"]}/org/dotnet/get-profileId"; + var response = await GetExternalAPIAsync(apiUrl, AccessToken!, _configuration["API_KEY"]!); + + if (string.IsNullOrWhiteSpace(response)) + return string.Empty; + + var org = JsonConvert.DeserializeObject(response); + if (org == null || org.result == null) + return string.Empty; + + return org.result.profileId ?? string.Empty; + } + + public async Task DeleteAllMyNotificationsAsync() + { + try + { + var profileId = await GetMyProfileIdAsync(); + if (string.IsNullOrEmpty(profileId)) + return 0; + + var notifications = await _dbContext.Set() + .Where(x => x.ReceiverUserId == Guid.Parse(profileId)) + .Where(x => x.DeleteDate == null) + .ToListAsync(); + + _dbContext.Set().RemoveRange(notifications); + await _dbContext.SaveChangesAsync(); + return notifications.Count; + } + catch + { + throw; + } + } + public async Task PushNotificationAsync(Guid ReceiverUserId, string Subject, string Body, string Payload = "", string NotiLink = "", bool IsSendInbox = false, bool IsSendMail = false) { try diff --git a/BMA.EHR.Placement.Service/Controllers/MessageController.cs b/BMA.EHR.Placement.Service/Controllers/MessageController.cs index c4434eb1..9c8ffdfd 100644 --- a/BMA.EHR.Placement.Service/Controllers/MessageController.cs +++ b/BMA.EHR.Placement.Service/Controllers/MessageController.cs @@ -184,6 +184,31 @@ namespace BMA.EHR.Placement.Service.Controllers } } + /// + /// āļĨāļš Notification āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡ user āļ—āļĩāđˆ login (Hard delete) + /// + /// āļˆāļģāļ™āļ§āļ™āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļ–āļđāļāļĨāļš + /// āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ Relational Database āļŠāļģāđ€āļĢāđ‡āļˆ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpDelete("my-notifications")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> PermanentDeleteAllMyNotificationsAsync() + { + try + { + var affectedRows = await _notificationRepository.DeleteAllMyNotificationsAsync(); + + return Success(affectedRows); + } + catch + { + throw; + } + } + #endregion } From bc29952e836600d0ea25c966e8b055089d489509 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 22:22:11 +0700 Subject: [PATCH 81/90] fix #2551 --- .../LeaveRequests/LeaveRequestRepository.cs | 82 ++++++------------- .../Controllers/LeaveBeginningController.cs | 4 +- .../Controllers/LeaveReportController.cs | 6 +- .../Controllers/LeaveRequestController.cs | 26 ++++-- 4 files changed, 50 insertions(+), 68 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 05737cfa..6363e258 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -1935,19 +1935,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } - public async Task GetSumApproveLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - + // startDate/endDate āļ„āļ·āļ­āļ‚āļ­āļšāđ€āļ‚āļ•āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“ (fiscalStart/fiscalEnd) āļ—āļĩāđˆ caller āļŠāđˆāļ‡āļĄāļē + // āđƒāļŠāđ‰ LeaveStartDate āđ€āļ›āđ‡āļ™āļŦāļĨāļąāļāđƒāļ™āļāļēāļĢ filter āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļĢāļ“āļĩāļĒāļ·āđˆāļ™āļĨāļēāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļ‚āđ‰āļēāļĄāļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“ + // āļ–āļđāļāļ™āļąāļšāđƒāļ™āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļ‚āļ­āļ‡āļ§āļąāļ™āļĨāļēāļˆāļĢāļīāļ‡ (āđ„āļĄāđˆāđƒāļŠāđ‰āļ§āļąāļ™āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļē) var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ?? x.CreatedAt) <= endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1957,19 +1955,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } - public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ?? x.CreatedAt) < endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -1979,19 +1972,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } - public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.ProfileId == profileId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -2001,38 +1989,28 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests return 0; } - public async Task GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.ProfileId == profileId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); return data.Count; } - public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) <= endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING") .ToListAsync(); @@ -2046,21 +2024,16 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests /// /// /// + /// /// - public async Task GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt).Date >= startDate - && (x.DateSendLeave ?? x.CreatedAt).Date < endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => x.LeaveStatus == "DRAFT") .ToListAsync(); @@ -2078,19 +2051,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests /// /// /// - public async Task GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate) + public async Task GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate) { - // āļ„āļģāļ™āļ§āļ“āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āļˆāļēāļ startDate (āļ›āļĩāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“āđ€āļĢāļīāđˆāļĄ 1 āļ•.āļ„. āđāļĨāļ°āļŠāļīāđ‰āļ™āļŠāļļāļ” 30 āļ.āļĒ.) - var fiscalYear = startDate.Month >= 10 ? startDate.Year + 1 : startDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); - var fiscalEnd = new DateTime(fiscalYear, 9, 30); - var data = await _dbContext.Set().AsQueryable().AsNoTracking() .Include(x => x.Type) .Where(x => x.KeycloakUserId == keycloakUserId) .Where(x => x.Type.Id == leaveTypeId) - .Where(x => ((x.DateSendLeave ?? x.CreatedAt) >= startDate && (x.DateSendLeave ??x.CreatedAt) < endDate)) - .Where(x => x.LeaveStartDate.Date >= fiscalStart.Date && x.LeaveStartDate.Date <= fiscalEnd.Date) + .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate) + .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date) .Where(x => (x.LeaveStatus == "NEW" || x.LeaveStatus == "PENDING")) .ToListAsync(); diff --git a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs index 2aa4988f..a3b0c124 100644 --- a/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveBeginningController.cs @@ -410,8 +410,8 @@ namespace BMA.EHR.Leave.Service.Controllers if (req.LeaveDaysUsed is null || req.LeaveCount is null) { - var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate); - var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate); + var systemLeaveDays = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate,endFiscalDate.AddDays(1)); + var systemLeaveCount = await _leaveRequestRepository.GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(req.ProfileId, req.LeaveTypeId, startFiscalDate, endFiscalDate,endFiscalDate.AddDays(1)); leaveBeginning.LeaveDaysUsed = req.BeginningLeaveDays + systemLeaveDays; leaveBeginning.LeaveCount = req.BeginningLeaveCount + systemLeaveCount; diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index 764ba1a5..a2d32dda 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -162,13 +162,14 @@ namespace BMA.EHR.Leave.Service.Controllers var startFiscalYear = (new DateTime(data.LeaveStartDate.Year - 1, 10, 1)).Date; var endFiscalYear = (data.DateSendLeave ?? data.CreatedAt); + var sendLeaveDate = data.DateSendLeave ?? data.CreatedAt; var thisYear = data.LeaveStartDate.Year; var toDay = data.LeaveStartDate.Date; if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31)) thisYear = thisYear + 1; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear, sendLeaveDate); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; @@ -355,8 +356,9 @@ namespace BMA.EHR.Leave.Service.Controllers //var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser(data.KeycloakUserId, data.Type.Id, startFiscalYear, endFiscalYear); + var sendLeaveDate = data.DateSendLeave ?? data.CreatedAt; - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear, sendLeaveDate); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index c6eac2ef..e5b0ecd1 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -927,9 +927,10 @@ namespace BMA.EHR.Leave.Service.Controllers // var lastSalary = profile.ProfileSalary; var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type); + - var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate); - var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate); + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate,endFiscalDate.AddDays(1)); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate,endFiscalDate.AddDays(1)); var result = new GetUserLeaveProfileResultDto { @@ -1684,11 +1685,13 @@ namespace BMA.EHR.Leave.Service.Controllers var rawData = await _leaveRequestRepository.GetByIdAsync(id); var thisYear = DateTime.Now.Year; + if (rawData == null) { return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); } + var fiscalYear = rawData.LeaveStartDate.Month >= 10 ? rawData.LeaveStartDate.Year + 1 : rawData.LeaveStartDate.Year; // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken); var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(rawData.KeycloakUserId, AccessToken); @@ -1734,10 +1737,15 @@ namespace BMA.EHR.Leave.Service.Controllers var restDayOld = 0.0; //restDayOld = govAge < 180 ? 0 : leaveData == null ? 0 : (leaveData.LeaveDays + leaveData.BeginningLeaveDays - 10); + + + restDayOld = govAge < 180 ? 0 : leaveData == null ? 0 : (leaveData.LeaveDays - 10); if (restDayOld < 0) restDayOld = 0; var restDayCurrent = govAge < 180 ? 0 : 10; + if (thisYear < fiscalYear) + restDayOld = 0; var result = new GetLeaveRequestByIdDto { @@ -2903,20 +2911,22 @@ namespace BMA.EHR.Leave.Service.Controllers orgName += $" {rawData.Root}"; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, rawData.Type.Id, rawData.KeycloakUserId); + + var currentYear = DateTime.Now.Year; var fiscalYear = rawData.LeaveStartDate.Month >= 10 ? rawData.LeaveStartDate.Year + 1 : rawData.LeaveStartDate.Year; - var fiscalStart = new DateTime(fiscalYear - 1, 10, 1); + var fiscalStart = new DateTime((fiscalYear - 1), 10, 1); var fiscalEnd = new DateTime(fiscalYear, 9, 30); var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1); - var endFiscalYear = rawData.DateSendLeave ?? rawData.CreatedAt; + var sendLeaveDate = rawData.DateSendLeave ?? rawData.CreatedAt; var endFiscalYear2 = new DateTime(rawData.LeaveStartDate.Year, 9, 30); //var endFiscalYear3 = rawData.DateSendLeave ?? rawData.CreatedAt; - var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, endFiscalYear); + var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); // āļ§āļąāļ™āļĨāļēāđāļšāļšāļĢāđˆāļēāļ‡āđāļĨāļ°āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ„āļ›āđāļĨāđ‰āļ§ - var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd); - var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd); + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); //var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed; if (leaveData != null) @@ -2929,6 +2939,8 @@ namespace BMA.EHR.Leave.Service.Controllers { leaveLimit = leaveData == null ? 0.0 : leaveData.LeaveDays; extendLeave = leaveLimit <= 0 ? 0 : leaveLimit - 10; + if (thisYear < fiscalYear) + extendLeave = 0; } var result = new GetLeaveRequestForAdminByIdDto From a2dc4b5b826dbf93f8ceffb97a248d85d44395bf Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 22:41:21 +0700 Subject: [PATCH 82/90] fix param fiscalEndDate #2551 --- BMA.EHR.Leave/Controllers/LeaveReportController.cs | 4 ++-- BMA.EHR.Leave/Controllers/LeaveRequestController.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BMA.EHR.Leave/Controllers/LeaveReportController.cs b/BMA.EHR.Leave/Controllers/LeaveReportController.cs index a2d32dda..11458917 100644 --- a/BMA.EHR.Leave/Controllers/LeaveReportController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveReportController.cs @@ -169,7 +169,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (toDay >= new DateTime(toDay.Year, 10, 1) && toDay <= new DateTime(toDay.Year, 12, 31)) thisYear = thisYear + 1; var leaveData = await _leaveBeginningRepository.GetByYearAndTypeIdForUser2Async(thisYear, data.Type.Id, data.KeycloakUserId); - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear, sendLeaveDate); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; @@ -358,7 +358,7 @@ namespace BMA.EHR.Leave.Service.Controllers var sendLeaveDate = data.DateSendLeave ?? data.CreatedAt; - var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, endFiscalYear, sendLeaveDate); + var sumLeave = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(data.KeycloakUserId, data.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); if (leaveData != null) { sumLeave += leaveData.BeginningLeaveDays; diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index e5b0ecd1..9b1140cd 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -2925,8 +2925,8 @@ namespace BMA.EHR.Leave.Service.Controllers var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); // āļ§āļąāļ™āļĨāļēāđāļšāļšāļĢāđˆāļēāļ‡āđāļĨāļ°āļ—āļĩāđˆāļĒāļ·āđˆāļ™āļĨāļēāđ„āļ›āđāļĨāđ‰āļ§ - var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); - var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, sendLeaveDate); + var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, fiscalEnd.AddDays(1)); + var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, fiscalStart, fiscalEnd, fiscalEnd.AddDays(1)); //var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed; if (leaveData != null) From ae417e4777b14af640b4b740c07acf629f3d8402 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 22 Jun 2026 23:13:51 +0700 Subject: [PATCH 83/90] add API #1600 --- BMA.EHR.Leave/Controllers/LeaveController.cs | 142 ++++++++++++++++++ .../DTOs/AdditionalCheck/ApproveRequestDto.cs | 17 +++ 2 files changed, 159 insertions(+) diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index f04c00ce..7e6bad99 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3818,6 +3818,148 @@ namespace BMA.EHR.Leave.Service.Controllers return Success(); } + + [HttpPut("admin/edit/approve-list")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> ApproveRequestListAsync([FromBody] List reqs) + { + var getPermission = await _permission.GetPermissionAPIAsync("UPDATE", "SYS_CHECKIN_SPECIAL"); + var jsonData = JsonConvert.DeserializeObject(getPermission); + if (jsonData["status"]?.ToString() != "200") + { + return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden); + } + + foreach (var req in reqs) + { + if (req.Reason == null || req.Reason == string.Empty) + { + return Error("āļāļĢāļļāļ“āļēāļāļĢāļ­āļāđ€āļŦāļ•āļļāļœāļĨ", StatusCodes.Status400BadRequest); + } + + var requestData = await _additionalCheckRequestRepository.GetByIdAsync(req.RecId); + if (requestData == null) + { + return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); + } + + requestData.Status = "APPROVE"; + requestData.Comment = req.Reason; + await _additionalCheckRequestRepository.UpdateAsync(requestData); + + // change user timestamp + var processTimeStamp = await _processUserTimeStampRepository.GetTimestampByDateAsync(requestData.KeycloakUserId, requestData.CheckDate.Date); + + var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(requestData.KeycloakUserId, AccessToken); + + if (processTimeStamp == null) + { + processTimeStamp = new ProcessUserTimeStamp + { + KeycloakUserId = requestData.KeycloakUserId, + CheckIn = DateTime.Parse($"{requestData.CheckDate.Date.ToString("yyyy-MM-dd")} {req.CheckInTime}"), + CheckOut = DateTime.Parse($"{requestData.CheckDate.Date.ToString("yyyy-MM-dd")} {req.CheckOutTime}"), + CheckInRemark = req.Reason, + CheckOutRemark = req.Reason, + + CheckInLat = 0, + CheckInLon = 0, + CheckOutLat = 0, + CheckOutLon = 0, + CheckInPOI = "", + CheckOutPOI = "", + CheckInStatus = req.CheckInStatus, + CheckOutStatus = req.CheckOutStatus, + + Prefix = profile.Prefix, + FirstName = profile.FirstName, + LastName = profile.LastName, + + // Add āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļ profile + CitizenId = profile.CitizenId, + ProfileType = profile.ProfileType, + Root = profile.Root, + RootId = profile.RootId, + Child1 = profile.Child1, + Child1Id = profile.Child1Id, + Child2 = profile.Child2, + Child2Id = profile.Child2Id, + Child3 = profile.Child3, + Child3Id = profile.Child3Id, + Child4 = profile.Child4, + Child4Id = profile.Child4Id, + Gender = profile.Gender, + ProfileId = profile.Id, + + + }; + + processTimeStamp.EditStatus = "APPROVE"; + processTimeStamp.EditReason = req.Reason; + + if (requestData.CheckInEdit) + { + processTimeStamp.CheckInPOI = requestData.POI ?? ""; + processTimeStamp.CheckInLat = requestData.Latitude ?? 0; + processTimeStamp.CheckInLon = requestData.Longitude ?? 0; + } + + if (requestData.CheckOutEdit) + { + processTimeStamp.CheckOutPOI = requestData.POI ?? ""; + processTimeStamp.CheckOutLat = requestData.Latitude ?? 0; + processTimeStamp.CheckOutLon = requestData.Longitude ?? 0; + } + + await _processUserTimeStampRepository.AddAsync(processTimeStamp); + } + else + { + if (requestData.CheckInEdit) + { + processTimeStamp.CheckIn = DateTime.Parse($"{requestData.CheckDate.Date.ToString("yyyy-MM-dd")} {req.CheckInTime}"); + processTimeStamp.CheckInRemark = req.Reason; + //processTimeStamp.CheckInLat = 0; + //processTimeStamp.CheckInLon = 0; + //processTimeStamp.CheckInPOI = "āļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ"; + processTimeStamp.CheckInStatus = req.CheckInStatus; + + processTimeStamp.CheckInPOI = requestData.POI ?? ""; + processTimeStamp.CheckInLat = requestData.Latitude ?? 0; + processTimeStamp.CheckInLon = requestData.Longitude ?? 0; + } + + if (requestData.CheckOutEdit) + { + processTimeStamp.CheckOut = DateTime.Parse($"{requestData.CheckDate.Date.ToString("yyyy-MM-dd")} {req.CheckOutTime}"); + processTimeStamp.CheckOutRemark = req.Reason; + //processTimeStamp.CheckOutLat = 0; + //processTimeStamp.CheckOutLon = 0; + //processTimeStamp.CheckOutPOI = "āļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ"; + processTimeStamp.CheckOutStatus = req.CheckOutStatus; + + processTimeStamp.CheckOutPOI = requestData.POI ?? ""; + processTimeStamp.CheckOutLat = requestData.Latitude ?? 0; + processTimeStamp.CheckOutLon = requestData.Longitude ?? 0; + } + + + processTimeStamp.EditStatus = "APPROVE"; + processTimeStamp.EditReason = req.Reason; + + await _processUserTimeStampRepository.UpdateAsync(processTimeStamp); + } + + var recvId = new List { profile.Id }; + await _notificationRepository.PushNotificationsAsync(recvId.ToArray(), "āļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ", + "āļāļēāļĢāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐāļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ™āļļāļĄāļąāļ•āļī", "", "", true, false); + } + return Success(); + } + + /// /// LV1_020 - āđ„āļĄāđˆāļ­āļ™āļļāļĄāļąāļ•āļīāļĨāļ‡āđ€āļ§āļĨāļēāļāļĢāļ“āļĩāļžāļīāđ€āļĻāļĐ (ADMIN) /// diff --git a/BMA.EHR.Leave/DTOs/AdditionalCheck/ApproveRequestDto.cs b/BMA.EHR.Leave/DTOs/AdditionalCheck/ApproveRequestDto.cs index 7b50313b..f40ad39a 100644 --- a/BMA.EHR.Leave/DTOs/AdditionalCheck/ApproveRequestDto.cs +++ b/BMA.EHR.Leave/DTOs/AdditionalCheck/ApproveRequestDto.cs @@ -12,4 +12,21 @@ public string Reason { get; set; } } + + public class ApproveRequestListItemDto + { + /// + /// id āļ‚āļ­āļ‡ record āļĢāļēāļĒāļāļēāļĢāļ„āļģāļ‚āļ­āļĨāļ‡āđ€āļ§āļĨāļēāļžāļīāđ€āļĻāļĐāļ™āļąāđ‰āļ™āđ† + /// + public Guid RecId { get; set; } + public string CheckInTime { get; set; } + + public string CheckOutTime { get; set; } + + public string CheckInStatus { get; set; } + + public string CheckOutStatus { get; set; } + + public string Reason { get; set; } + } } From 5f678b289809e23aaa4e23585bbc5115f87f60d7 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 23 Jun 2026 11:25:42 +0700 Subject: [PATCH 84/90] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=9B?= =?UTF-8?q?=E0=B8=B1=E0=B8=8D=E0=B8=AB=E0=B8=B2=20RabbitMQ=20=E0=B8=9B?= =?UTF-8?q?=E0=B8=A3=E0=B8=B0=E0=B8=A1=E0=B8=A7=E0=B8=A5=E0=B8=9C=E0=B8=A5?= =?UTF-8?q?=E0=B9=83=E0=B8=99=E0=B8=84=E0=B8=B4=E0=B8=A7=E0=B8=8A=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=20=E0=B9=81=E0=B8=A5=E0=B8=B0=E0=B8=A3=E0=B8=AD?= =?UTF-8?q?=E0=B8=84=E0=B8=B4=E0=B8=A7=E0=B8=99=E0=B8=B2=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CHANGELOG-checkin-speedup.md | 83 +++++++++++++++++++ BMA.EHR.CheckInConsumer/Program.cs | 75 ++++++++++++----- BMA.EHR.CheckInConsumer/appsettings.json | 5 +- 3 files changed, 139 insertions(+), 24 deletions(-) create mode 100644 BMA.EHR.CheckInConsumer/CHANGELOG-checkin-speedup.md diff --git a/BMA.EHR.CheckInConsumer/CHANGELOG-checkin-speedup.md b/BMA.EHR.CheckInConsumer/CHANGELOG-checkin-speedup.md new file mode 100644 index 00000000..7b20dd1b --- /dev/null +++ b/BMA.EHR.CheckInConsumer/CHANGELOG-checkin-speedup.md @@ -0,0 +1,83 @@ +# āļŠāļĢāļļāļ›āļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļĢāļ°āļšāļšāļĨāļ‡āđ€āļ§āļĨāļē (CheckInConsumer) + +āļ§āļąāļ™āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚: 23 āļĄāļīāļ–āļļāļ™āļēāļĒāļ™ 2026 + +--- + +## āļ›āļąāļāļŦāļēāđ€āļ”āļīāļĄ + +āļ•āļ­āļ™āļ—āļĩāđˆāļžāļ™āļąāļāļ‡āļēāļ™āļĨāļ‡āđ€āļ§āļĨāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļ™āļˆāļģāļ™āļ§āļ™āļĄāļēāļ (āļ›āļĢāļ°āļĄāļēāļ“ 2,000 āļĢāļēāļĒāļāļēāļĢ) āļĢāļ°āļšāļšāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāļĨāļ°āļĢāļēāļĒāļāļēāļĢ āļ—āļģāđƒāļŦāđ‰āļ•āđ‰āļ­āļ‡āļĢāļ­āļ„āļīāļ§āļ™āļēāļ™āļ–āļķāļ‡ **22 āļ™āļēāļ—āļĩ** āļāļ§āđˆāļēāļˆāļ°āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļŠāļĢāđ‡āļˆāļ—āļąāđ‰āļ‡āļŦāļĄāļ” + +āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāđ€āļŦāļĄāļ·āļ­āļ™ **āđ‚āļ•āđŠāļ°āļšāļąāļāļŠāļĩ 1 āļ„āļ™ āļĢāļąāļšāļ„āļīāļ§āļ—āļĩāļĨāļ°āļ„āļ™** āļ—āļąāđ‰āļ‡āļ—āļĩāđˆāļĄāļĩāļ„āļ™āļĢāļ­ 2,000 āļ„āļ™ â†’ āļ„āļīāļ§āļĒāļēāļ§āļĄāļēāļ + +--- + +## āļ§āļīāļ˜āļĩāļ—āļĩāđˆāđāļāđ‰ (āđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒ āđ†) + +### 1. āđ€āļžāļīāđˆāļĄāļ„āļ™āļŠāđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (Concurrency) +- **āļāđˆāļ­āļ™:** āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāļĨāļ°āļĢāļēāļĒāļāļēāļĢ (āđ€āļŦāļĄāļ·āļ­āļ™āļĄāļĩāđ‚āļ•āđŠāļ°āļšāļąāļāļŠāļĩ 1 āđ‚āļ•āđŠāļ°) +- **āļŦāļĨāļąāļ‡:** āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ„āļ”āđ‰āļŠāļđāļ‡āļŠāļļāļ” **5 āļĢāļēāļĒāļāļēāļĢ** (āđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ›āļīāļ”āđ‚āļ•āđŠāļ°āļšāļąāļāļŠāļĩ 5 āđ‚āļ•āđŠāļ°) + +> āļœāļĨāļ—āļĩāđˆāđ„āļ”āđ‰: āđ€āļ§āļĨāļēāļĢāļ­āļ„āļīāļ§āļĨāļ”āļĨāļ‡āļˆāļēāļ **22 āļ™āļēāļ—āļĩ → āļ›āļĢāļ°āļĄāļēāļ“ 4–5 āļ™āļēāļ—āļĩ** + +### 2. āļˆāļąāļ”āļ„āļīāļ§āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđƒāļŦāđ‰ RabbitMQ (Prefetch) +- **āļāđˆāļ­āļ™:** āļĢāļ°āļšāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĄāļēāļ—āļĩāļĨāļ°āļŠāļīāđ‰āļ™ āļ—āļģāđƒāļŦāđ‰āđ€āļŠāļĩāļĒāđ€āļ§āļĨāļēāļĢāļ­āļŠāđˆāļ‡āļ•āđˆāļ­ +- **āļŦāļĨāļąāļ‡:** āļĢāļ°āļšāļšāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļĄāļēāđ€āļ›āđ‡āļ™āļŠāļļāļ” āđ† āļĨāļ° 20 āļŠāļīāđ‰āļ™āđ„āļ§āđ‰āđ€āļ•āļĢāļĩāļĒāļĄāļžāļĢāđ‰āļ­āļĄ â†’ āļĨāļ”āđ€āļ§āļĨāļēāļĢāļ­āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļĢāļēāļĒāļāļēāļĢ + +### 3. āļĨāļ”āđ€āļ§āļĨāļēāļĢāļ­āđ€āļĄāļ·āđˆāļ­ API āļĄāļĩāļ›āļąāļāļŦāļē (Timeout) +- **āļāđˆāļ­āļ™:** āļ–āđ‰āļē API āļ„āđ‰āļēāļ‡ āļĢāļ°āļšāļšāļˆāļ°āļĢāļ­āļ™āļēāļ™āļ–āļķāļ‡ **5 āļ™āļēāļ—āļĩ** āļ•āđˆāļ­āļĢāļēāļĒāļāļēāļĢ +- **āļŦāļĨāļąāļ‡:** āļĨāļ”āđ€āļŦāļĨāļ·āļ­ **1 āļ™āļēāļ—āļĩ** → āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļĄāļĩāļ›āļąāļāļŦāļēāļˆāļ°āļ–āļđāļāļ›āļāļīāđ€āļŠāļ˜āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āđ„āļĄāđˆāļ—āļģāđƒāļŦāđ‰āļ„āļīāļ§āļ„āđ‰āļēāļ‡ + +### 4. āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ HTTP +- āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļĢāļ°āļšāļšāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđƒāļŦāđ‰āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļŠāđˆāļ‡āļ„āļģāļ‚āļ­āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢāļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ‚āļ”āļĒāđ„āļĄāđˆāļŠāļ°āļ”āļļāļ” + +--- + +## āļ•āļąāļ§āđ€āļĨāļ‚āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš + +| āļĢāļēāļĒāļāļēāļĢ | āļāđˆāļ­āļ™āđāļāđ‰ | āļŦāļĨāļąāļ‡āđāļāđ‰ | +|---|---|---| +| āļˆāļģāļ™āļ§āļ™āļĢāļēāļĒāļāļēāļĢāļ—āļĩāđˆāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ | 1 | 5 | +| āđ€āļ§āļĨāļēāļĢāļ­āļ„āļīāļ§āļŠāļđāļ‡āļŠāļļāļ” (2,000 āļĢāļēāļĒāļāļēāļĢ) | ~22 āļ™āļēāļ—āļĩ | ~4–5 āļ™āļēāļ—āļĩ | +| āđ€āļ§āļĨāļēāļĢāļ­āđ€āļĄāļ·āđˆāļ­ API āļĄāļĩāļ›āļąāļāļŦāļē | 5 āļ™āļēāļ—āļĩ | 1 āļ™āļēāļ—āļĩ | + +--- + +## āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđāļāđ‰āđ„āļ‚ + +1. **`Program.cs`** — āđ‚āļ„āđ‰āļ”āļŦāļĨāļąāļāļ‚āļ­āļ‡āļ•āļąāļ§āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ„āļīāļ§ +2. **`appsettings.json`** — āđ„āļŸāļĨāđŒāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļĢāļ°āļšāļš + +--- + +## āļ§āļīāļ˜āļĩāļ›āļĢāļąāļšāļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ (āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āđƒāļŦāļĄāđˆ) + +āļ–āđ‰āļēāļŦāļĨāļąāļ‡āļ—āļ”āļŠāļ­āļšāđāļĨāđ‰āļ§āđ€āļŦāđ‡āļ™āļ§āđˆāļēāļĢāļ°āļšāļšāļĢāļąāļšāđ„āļ”āđ‰ āđāļĨāļ°āļ­āļĒāļēāļāđƒāļŦāđ‰āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™āļ­āļĩāļ āđƒāļŦāđ‰āđāļāđ‰āđ„āļ‚āđ„āļŸāļĨāđŒ `appsettings.json` āđāļĨāđ‰āļ§ restart āđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļ”āđ‰āđ€āļĨāļĒ: + +```json +{ + "MaxConcurrency": 10, ← āđ€āļžāļīāđˆāļĄāļˆāļēāļ 5 āđ€āļ›āđ‡āļ™ 10 (āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ 10 āļĢāļēāļĒāļāļēāļĢ) + "PrefetchCount": 50, ← āļ„āļ§āļĢāļ•āļąāđ‰āļ‡āđ€āļ›āđ‡āļ™ āļ›āļĢāļ°āļĄāļēāļ“ MaxConcurrency × 2 āļ‚āļķāđ‰āļ™āđ„āļ› + "HttpTimeoutSeconds": 60 ← āđ€āļ§āļĨāļēāļĢāļ­ API āļ§āļīāļ™āļēāļ—āļĩ +} +``` + +**āļ„āđˆāļēāļ—āļĩāđˆāđƒāļŠāđ‰āđāļĨāļ°āļœāļĨāļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒ:** +- `MaxConcurrency = 5` → āđƒāļŠāđ‰āđ€āļ§āļĨāļē ~4–5 āļ™āļēāļ—āļĩ (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ›āļĨāļ­āļ”āļ āļąāļĒ) +- `MaxConcurrency = 10` → āđƒāļŠāđ‰āđ€āļ§āļĨāļē ~2–3 āļ™āļēāļ—āļĩ +- `MaxConcurrency = 20` → āđƒāļŠāđ‰āđ€āļ§āļĨāļē ~1–2 āļ™āļēāļ—āļĩ (āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļĢāļ°āļšāļšāļŦāļĨāļąāļ‡āļšāđ‰āļēāļ™āļĢāļąāļšāđ„āļŦāļ§āļāđˆāļ­āļ™) + +--- + +## āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡ / āļ„āļģāđāļ™āļ°āļ™āļģ + +1. **āļ„āļ§āļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļĢāļ°āļšāļšāļ—āļ”āļŠāļ­āļšāļāđˆāļ­āļ™** āđ‚āļ”āļĒāļ”āļđāļ§āđˆāļē + - āđ„āļĄāđˆāļĄāļĩ error āđƒāļ™āļĢāļ°āļšāļšāļŦāļĨāļąāļ (API) + - āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļĄāđˆāļŠāđ‰āļēāļœāļīāļ”āļ›āļāļ•āļī + - āđ„āļĄāđˆāļžāļšāļ›āļąāļāļŦāļēāļĨāļ‡āđ€āļ§āļĨāļēāļ‹āđ‰āļģāļ‹āđ‰āļ­āļ™ + +2. āļ–āđ‰āļēāļžāļšāļ›āļąāļāļŦāļē āđ€āļŠāđˆāļ™ + - āļĄāļĩ error āđƒāļ™ API → **āļĨāļ”** `MaxConcurrency` āđ€āļŦāļĨāļ·āļ­ 2 āļŦāļĢāļ·āļ­ 3 + - āļĨāļ‡āđ€āļ§āļĨāļēāļ‹āđ‰āļģ → āđāļˆāđ‰āļ‡āļ—āļĩāļĄāđ€āļ—āļ„āļ™āļīāļ„āđ€āļžāļ·āđˆāļ­āđāļāđ‰āļāļąāđˆāļ‡ API āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ + +3. **āļ„āđˆāļē `MaxConcurrency = 5` āđ€āļ›āđ‡āļ™āļ„āđˆāļēāļ›āļĨāļ­āļ”āļ āļąāļĒ** āđ€āļžāļĢāļēāļ°āļĢāļ°āļšāļš API āļ”āđ‰āļēāļ™āļŦāļĨāļąāļ‡āļĒāļąāļ‡āļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ­āļĒāļđāđˆāļšāļēāļ‡āļŠāđˆāļ§āļ™ āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāđƒāļŦāđ‰āļŠāļđāļ‡āļāļ§āđˆāļēāļ™āļĩāđ‰ (āđ€āļŠāđˆāļ™ 20–50) āļ„āļ§āļĢāļ›āļĢāļķāļāļĐāļēāļ—āļĩāļĄāđ€āļ—āļ„āļ™āļīāļ„āđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āļāļąāđˆāļ‡ API āļāđˆāļ­āļ™ diff --git a/BMA.EHR.CheckInConsumer/Program.cs b/BMA.EHR.CheckInConsumer/Program.cs index 95dac001..a0ff686c 100644 --- a/BMA.EHR.CheckInConsumer/Program.cs +++ b/BMA.EHR.CheckInConsumer/Program.cs @@ -18,6 +18,13 @@ var user = configuration["Rabbit:User"] ?? ""; var pass = configuration["Rabbit:Password"] ?? ""; var queue = configuration["Rabbit:Queue"] ?? "basic-queue"; +// Concurrency & prefetch (configurable via appsettings.json) +var maxConcurrency = int.TryParse(configuration["MaxConcurrency"], out var c) && c > 0 ? c : 5; +var prefetchCount = ushort.TryParse(configuration["PrefetchCount"], out var p) && p > 0 ? p : (ushort)20; +var httpTimeoutSec = int.TryParse(configuration["HttpTimeoutSeconds"], out var t) && t > 0 ? t : 60; + +WriteToConsole($"Config -> MaxConcurrency: {maxConcurrency}, PrefetchCount: {prefetchCount}, HttpTimeout: {httpTimeoutSec}s"); + // create connection var factory = new ConnectionFactory() { @@ -32,39 +39,61 @@ using var channel = connection.CreateModel(); channel.QueueDeclare(queue: queue, durable: true, exclusive: false, autoDelete: false, arguments: null); -// Create a SINGLE static HttpClient instance to prevent socket exhaustion -using var httpClient = new HttpClient(); -httpClient.Timeout = TimeSpan.FromSeconds(300); // 5 āļ™āļēāļ—āļĩ +// Prefetch: RabbitMQ āļˆāļ°āļŠāđˆāļ‡ message āļŦāļĨāļēāļĒāļ•āļąāļ§āļĄāļēāļ—āļĩāđˆ consumer āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (āļĨāļ” network round-trip) +channel.BasicQos(prefetchSize: 0, prefetchCount: prefetchCount, global: false); + +// HttpClient āđāļšāļš SocketsHttpHandler āļžāļĢāđ‰āļ­āļĄ connection pooling āļĢāļ­āļ‡āļĢāļąāļš concurrent requests +var socketsHandler = new SocketsHttpHandler +{ + MaxConnectionsPerServer = maxConcurrency * 2, + PooledConnectionLifetime = TimeSpan.FromMinutes(2), + PooledConnectionIdleTimeout = TimeSpan.FromSeconds(30) +}; +using var httpClient = new HttpClient(socketsHandler); +httpClient.Timeout = TimeSpan.FromSeconds(httpTimeoutSec); + +// SemaphoreSlim āļ„āļļāļĄāļˆāļģāļ™āļ§āļ™ message āļ—āļĩāđˆāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļ API āļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āđ€āļĢāļ·āđˆāļ­āļ‡ concurrency) +using var semaphore = new SemaphoreSlim(maxConcurrency, maxConcurrency); var consumer = new AsyncEventingBasicConsumer(channel); -consumer.Received += async (model, ea) => +consumer.Received += (model, ea) => { - try + // āļĢāļ­ semaphore āļāđˆāļ­āļ™āđ€āļĢāļīāđˆāļĄāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ + semaphore.WaitAsync().ContinueWith(async _ => { - var body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - - WriteToConsole($"Received message: {message}"); - - var success = await CallRestApi(message, httpClient, configuration); - - if (success) + try { - channel.BasicAck(ea.DeliveryTag, multiple: false); - WriteToConsole("Message processed successfully"); + var body = ea.Body.ToArray(); + var message = Encoding.UTF8.GetString(body); + + WriteToConsole($"Received message: {message}"); + + var success = await CallRestApi(message, httpClient, configuration); + + if (success) + { + channel.BasicAck(ea.DeliveryTag, multiple: false); + WriteToConsole("Message processed successfully"); + } + else + { + channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false); + WriteToConsole("Message processing failed - message rejected"); + } } - else + catch (Exception ex) { + WriteToConsole($"Error processing message: {ex.Message}"); channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false); - WriteToConsole("Message processing failed - message rejected"); } - } - catch (Exception ex) - { - WriteToConsole($"Error processing message: {ex.Message}"); - channel.BasicNack(ea.DeliveryTag, multiple: false, requeue: false); - } + finally + { + semaphore.Release(); + } + }, TaskScheduler.Default).ConfigureAwait(false); + + return Task.CompletedTask; }; channel.BasicConsume(queue: queue, autoAck: false, consumer: consumer); diff --git a/BMA.EHR.CheckInConsumer/appsettings.json b/BMA.EHR.CheckInConsumer/appsettings.json index 76f86c86..1fbba85b 100644 --- a/BMA.EHR.CheckInConsumer/appsettings.json +++ b/BMA.EHR.CheckInConsumer/appsettings.json @@ -5,5 +5,8 @@ "Password": "12345678", "Queue": "hrms-checkin-queue-dev" }, - "API": "https://localhost:7283/api/v1" + "API": "https://localhost:7283/api/v1", + "MaxConcurrency": 5, + "PrefetchCount": 20, + "HttpTimeoutSeconds": 60 } From 65ca175f980820fa1d56f7a8fcf5e73a3875a195 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 23 Jun 2026 11:38:40 +0700 Subject: [PATCH 85/90] fix Dockerfile --- BMA.EHR.CheckInConsumer/.dockerignore | 24 ++++++++++++++++++++++++ BMA.EHR.CheckInConsumer/Dockerfile | 22 ++++++++-------------- 2 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 BMA.EHR.CheckInConsumer/.dockerignore diff --git a/BMA.EHR.CheckInConsumer/.dockerignore b/BMA.EHR.CheckInConsumer/.dockerignore new file mode 100644 index 00000000..741ce7d4 --- /dev/null +++ b/BMA.EHR.CheckInConsumer/.dockerignore @@ -0,0 +1,24 @@ +# Build artifacts +bin/ +obj/ + +# IDE / tooling +Properties/ +.vs/ +.vscode/ +.idea/ + +# Source control +.git/ +.gitignore + +# Documentation +*.md + +# Docker +Dockerfile +.dockerignore + +# OS files +.DS_Store +Thumbs.db diff --git a/BMA.EHR.CheckInConsumer/Dockerfile b/BMA.EHR.CheckInConsumer/Dockerfile index 1c90d6f2..314f1b71 100644 --- a/BMA.EHR.CheckInConsumer/Dockerfile +++ b/BMA.EHR.CheckInConsumer/Dockerfile @@ -1,4 +1,4 @@ -ïŧŋ## See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. +## See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. # ## This stage is used when running from VS in fast mode (Default for Debug configuration) #FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base @@ -34,25 +34,19 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build # āļāļģāļŦāļ™āļ” working directory āļ āļēāļĒāđƒāļ™ container WORKDIR /src -# āļ„āļąāļ”āļĨāļ­āļāđ„āļŸāļĨāđŒ .csproj āđāļĨāļ° restore dependencies -# COPY *.csproj ./ -COPY . ./ -RUN dotnet restore +# copy āđ€āļ‰āļžāļēāļ° .csproj āļāđˆāļ­āļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰ layer caching (restore āđ€āļĢāđ‡āļ§ āđ€āļāđ‡āļš cache āļ™āļēāļ™) +COPY BMA.EHR.CheckInConsumer.csproj ./ +RUN dotnet restore "BMA.EHR.CheckInConsumer.csproj" -# āļ„āļąāļ”āļĨāļ­āļāđ„āļŸāļĨāđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđāļĨāļ° build +# āļ„āļąāļ”āļĨāļ­āļ source āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āđāļĨāđ‰āļ§ publish COPY . ./ -RUN dotnet build -c Release -o /app/build -# WORKDIR "/src/BMA.EHR.CheckInConsumer" -# RUN dotnet build "BMA.EHR.CheckInConsumer.csproj" -c Release -o /app/build +RUN dotnet publish "BMA.EHR.CheckInConsumer.csproj" -c Release -o /app/publish /p:UseAppHost=false -# āđƒāļŠāđ‰ stage āđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ runtime +# āđƒāļŠāđ‰ stage āđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļš runtime (image āđ€āļĨāđ‡āļāļĨāļ‡) FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime -# āļāļģāļŦāļ™āļ” working directory āļŠāļģāļŦāļĢāļąāļš runtime WORKDIR /app -# āļ„āļąāļ”āļĨāļ­āļāđ„āļŸāļĨāđŒāļˆāļēāļ build stage āļĄāļēāļĒāļąāļ‡ runtime stage -COPY --from=build /app/build . +COPY --from=build /app/publish . -# āļĢāļ°āļšāļļ entry point āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ ENTRYPOINT ["dotnet", "BMA.EHR.CheckInConsumer.dll"] From f6c8b4f754ac54e34ad7ce0cbbb5d6fe44dc1b9c Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Tue, 23 Jun 2026 11:45:28 +0700 Subject: [PATCH 86/90] Change Dockerfile --- BMA.EHR.CheckInConsumer/Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/BMA.EHR.CheckInConsumer/Dockerfile b/BMA.EHR.CheckInConsumer/Dockerfile index 314f1b71..81c430d9 100644 --- a/BMA.EHR.CheckInConsumer/Dockerfile +++ b/BMA.EHR.CheckInConsumer/Dockerfile @@ -21,6 +21,7 @@ #ARG BUILD_CONFIGURATION=Release #RUN dotnet publish "BMA.EHR.CheckInConsumer.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false # + ## This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration) #FROM base AS final #WORKDIR /app @@ -29,17 +30,18 @@ # āđƒāļŠāđ‰ official .NET SDK image āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ build +# Note: Build context = repository root (āļ•āļēāļĄāļ—āļĩāđˆ GitHub Actions āđƒāļŠāđ‰) FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -# āļāļģāļŦāļ™āļ” working directory āļ āļēāļĒāđƒāļ™ container WORKDIR /src # copy āđ€āļ‰āļžāļēāļ° .csproj āļāđˆāļ­āļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŠāđ‰ layer caching (restore āđ€āļĢāđ‡āļ§ āđ€āļāđ‡āļš cache āļ™āļēāļ™) -COPY BMA.EHR.CheckInConsumer.csproj ./ +COPY BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj ./BMA.EHR.CheckInConsumer/ +WORKDIR /src/BMA.EHR.CheckInConsumer RUN dotnet restore "BMA.EHR.CheckInConsumer.csproj" # āļ„āļąāļ”āļĨāļ­āļ source āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āđāļĨāđ‰āļ§ publish -COPY . ./ +COPY BMA.EHR.CheckInConsumer/ ./ RUN dotnet publish "BMA.EHR.CheckInConsumer.csproj" -c Release -o /app/publish /p:UseAppHost=false # āđƒāļŠāđ‰ stage āđƒāļŦāļĄāđˆāļŠāļģāļŦāļĢāļąāļš runtime (image āđ€āļĨāđ‡āļāļĨāļ‡) From bf5dc2cf190533b31556e47491022cc0c8820a49 Mon Sep 17 00:00:00 2001 From: harid Date: Tue, 23 Jun 2026 18:24:30 +0700 Subject: [PATCH 87/90] =?UTF-8?q?=E0=B9=80=E0=B8=81=E0=B9=87=E0=B8=9A=20la?= =?UTF-8?q?stUpdate=20=E0=B8=AB=E0=B8=B2=E0=B8=81=E0=B8=A1=E0=B8=B5?= =?UTF-8?q?=E0=B9=80=E0=B8=8A=E0=B9=87=E0=B8=84=E0=B8=AD=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=E0=B8=A2?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=99=E0=B8=AB=E0=B8=A5=E0=B8=B1=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlacementAppointmentController.cs | 48 ++++++++++++++++--- .../Controllers/PlacementController.cs | 30 ++++++++++-- .../Controllers/PlacementOfficerController.cs | 3 ++ .../Controllers/PlacementReceiveController.cs | 8 +++- .../PlacementRepatriationController.cs | 8 +++- .../PlacementTransferController.cs | 8 +++- 6 files changed, 93 insertions(+), 12 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index 50114759..a8d91874 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -1062,7 +1062,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -1286,7 +1292,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -1494,7 +1506,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -1707,7 +1725,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -1943,7 +1967,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -2114,7 +2144,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 9557ae00..1e1d5417 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2035,6 +2035,9 @@ namespace BMA.EHR.Placement.Service.Controllers placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; if (req.refIds.Length > 0) { profile.commandId = req.refIds[0].commandId; @@ -2441,6 +2444,9 @@ namespace BMA.EHR.Placement.Service.Controllers placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; if (req.refIds.Length > 0) { profile.commandId = req.refIds[0].commandId; @@ -2710,7 +2716,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); + data.ForEach(profile => + { + profile.PlacementStatus = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -2960,7 +2972,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); + data.ForEach(profile => + { + profile.PlacementStatus = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -3193,7 +3211,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.PlacementStatus = "DONE"); + data.ForEach(profile => + { + profile.PlacementStatus = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index 8fcb51cf..7c26a018 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -832,6 +832,9 @@ namespace BMA.EHR.Placement.Service.Controllers { profile.Status = "DONE"; profile.commandNo = commandNoText; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; }); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 32f91eae..262d86bd 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -1306,7 +1306,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); Console.WriteLine($"[ReceiveReportExcecute] Saving changes to database for {data.Count} profiles"); await _context.SaveChangesAsync(); Console.WriteLine($"[ReceiveReportExcecute] Process completed successfully at {DateTime.Now}"); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index b56fc804..97e1e406 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -686,7 +686,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index 73741918..843fa25a 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -1212,7 +1212,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = DateTime.Now; + }); // Return resultData for Node to process directly (Linear Flow) return Success(resultData); From 5021c00dd3a75ef5304c85332aaf3cb80147629a Mon Sep 17 00:00:00 2001 From: harid Date: Wed, 24 Jun 2026 16:20:49 +0700 Subject: [PATCH 88/90] =?UTF-8?q?=E0=B9=80=E0=B8=81=E0=B9=87=E0=B8=9A=20la?= =?UTF-8?q?stUpdate=20=E0=B8=AB=E0=B8=B2=E0=B8=81=E0=B8=A1=E0=B8=B5?= =?UTF-8?q?=E0=B9=80=E0=B8=8A=E0=B9=87=E0=B8=84=E0=B8=AD=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87=E0=B8=A2?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=99=E0=B8=AB=E0=B8=A5=E0=B8=B1=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PlacementAppointmentController.cs | 18 ++++++++----- .../Controllers/PlacementController.cs | 15 +++++++---- .../Controllers/PlacementOfficerController.cs | 3 ++- .../Controllers/PlacementReceiveController.cs | 3 ++- .../PlacementRepatriationController.cs | 3 ++- .../PlacementTransferController.cs | 3 ++- .../Controllers/RetirementOtherController.cs | 18 +++++++++++-- .../Controllers/RetirementOutController.cs | 9 ++++++- .../Controllers/RetirementResignController.cs | 27 ++++++++++++++++--- .../RetirementResignEmployeeController.cs | 18 +++++++++++-- 10 files changed, 94 insertions(+), 23 deletions(-) diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index a8d91874..c7cbf249 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -1062,12 +1062,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -1292,12 +1293,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -1506,12 +1508,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -1725,12 +1728,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -1967,12 +1971,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -2144,12 +2149,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs index 1e1d5417..af1d954e 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementController.cs @@ -2032,12 +2032,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow + var now = DateTime.Now; placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; if (req.refIds.Length > 0) { profile.commandId = req.refIds[0].commandId; @@ -2441,12 +2442,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow + var now = DateTime.Now; placementProfile.ForEach(profile => { profile.PlacementStatus = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; if (req.refIds.Length > 0) { profile.commandId = req.refIds[0].commandId; @@ -2716,12 +2718,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.PlacementStatus = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -2972,12 +2975,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.PlacementStatus = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); @@ -3211,12 +3215,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.PlacementStatus = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs index 7c26a018..29d38df5 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementOfficerController.cs @@ -828,13 +828,14 @@ namespace BMA.EHR.Placement.Service.Controllers // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš var firstRef = req.refIds.FirstOrDefault(); var commandNoText = firstRef != null ? $"{firstRef.commandNo}/{firstRef.commandYear.ToThaiYear()}" : null; + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.commandNo = commandNoText; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs index 262d86bd..31db814b 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementReceiveController.cs @@ -1306,12 +1306,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); Console.WriteLine($"[ReceiveReportExcecute] Saving changes to database for {data.Count} profiles"); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs index 97e1e406..2cc8536d 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementRepatriationController.cs @@ -686,12 +686,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs index 843fa25a..a165be68 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementTransferController.cs @@ -1212,12 +1212,13 @@ namespace BMA.EHR.Placement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš + var now = DateTime.Now; data.ForEach(profile => { profile.Status = "DONE"; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; - profile.LastUpdatedAt = DateTime.Now; + profile.LastUpdatedAt = now; }); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs index 868aac4f..b1580cf5 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOtherController.cs @@ -926,7 +926,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -1183,7 +1190,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index ae528316..003166f9 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -712,7 +712,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs index 1b434380..019451c5 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignController.cs @@ -2972,7 +2972,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -3164,7 +3171,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -3399,7 +3413,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); data.ForEach(profile => profile.RetirementResign.Status = "CANCEL"); await _context.SaveChangesAsync(); diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs index 4449099b..dd0d850b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementResignEmployeeController.cs @@ -2468,7 +2468,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); await _context.SaveChangesAsync(); // Return resultData for Node to process directly (Linear Flow) @@ -2700,7 +2707,14 @@ namespace BMA.EHR.Retirement.Service.Controllers #endregion // New: Linear Flow - Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); + var now = DateTime.Now; + data.ForEach(profile => + { + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); data.ForEach(profile => profile.RetirementResignEmployee.Status = "CANCEL"); await _context.SaveChangesAsync(); From a2fe424b87e2c04ea399c73b41ca4c7585360a35 Mon Sep 17 00:00:00 2001 From: harid Date: Fri, 26 Jun 2026 16:38:41 +0700 Subject: [PATCH 89/90] Linear Flow (DisciplineService) #224 --- .../Controllers/DisciplineResultController.cs | 751 +++++++++++------- .../PlacementAppointmentController.cs | 2 +- .../Controllers/RetirementOutController.cs | 2 +- 3 files changed, 472 insertions(+), 283 deletions(-) diff --git a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs index 35a9dfa2..f6697c2e 100644 --- a/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs +++ b/BMA.EHR.Discipline.Service/Controllers/DisciplineResultController.cs @@ -1028,10 +1028,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1067,52 +1063,95 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // // āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ + // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + // var _profile = new List(); + // DateTime _date = DateTime.Now; + // foreach (var item in data) + // { + // _profile.Add(new ProfileComplaintInvestigate + // { + // PersonId = item.PersonId, + // Prefix = item.Prefix, + // FirstName = item.FirstName, + // LastName = item.LastName, + // CitizenId = item.CitizenId, + // rootDnaId = item.rootDnaId, + // child1DnaId = item.child1DnaId, + // child2DnaId = item.child2DnaId, + // child3DnaId = item.child3DnaId, + // child4DnaId = item.child4DnaId, + // profileType = item.profileType, + // commandType = "C-PM-19", + // CreatedAt = _date, + // CreatedUserId = UserId, + // CreatedFullName = FullName, + // LastUpdatedAt = _date, + // LastUpdateUserId = UserId, + // LastUpdateFullName = FullName, + // }); + // } + // _context.ProfileComplaintInvestigate.AddRange(_profile); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new + profile.Status = "REPORTED"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + + var _profile = new List(); + foreach (var item in data) + { + _profile.Add(new ProfileComplaintInvestigate { - data = resultData, + PersonId = item.PersonId, + Prefix = item.Prefix, + FirstName = item.FirstName, + LastName = item.LastName, + CitizenId = item.CitizenId, + rootDnaId = item.rootDnaId, + child1DnaId = item.child1DnaId, + child2DnaId = item.child2DnaId, + child3DnaId = item.child3DnaId, + child4DnaId = item.child4DnaId, + profileType = item.profileType, + commandType = "C-PM-19", + CreatedAt = now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - //// āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ - // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - var _profile = new List(); - DateTime _date = DateTime.Now; - foreach (var item in data) - { - _profile.Add(new ProfileComplaintInvestigate - { - PersonId = item.PersonId, - Prefix = item.Prefix, - FirstName = item.FirstName, - LastName = item.LastName, - CitizenId = item.CitizenId, - rootDnaId = item.rootDnaId, - child1DnaId = item.child1DnaId, - child2DnaId = item.child2DnaId, - child3DnaId = item.child3DnaId, - child4DnaId = item.child4DnaId, - profileType = item.profileType, - commandType = "C-PM-19", - CreatedAt = _date, - CreatedUserId = UserId, - CreatedFullName = FullName, - LastUpdatedAt = _date, - LastUpdateUserId = UserId, - LastUpdateFullName = FullName, - }); - } - _context.ProfileComplaintInvestigate.AddRange(_profile); - await _context.SaveChangesAsync(); - } } - return Success(); + _context.ProfileComplaintInvestigate.AddRange(_profile); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1184,10 +1223,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1223,52 +1258,95 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // // āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ + // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); + // var _profile = new List(); + // DateTime _date = DateTime.Now; + // foreach (var item in data) + // { + // _profile.Add(new ProfileComplaintInvestigate + // { + // PersonId = item.PersonId, + // Prefix = item.Prefix, + // FirstName = item.FirstName, + // LastName = item.LastName, + // CitizenId = item.CitizenId, + // rootDnaId = item.rootDnaId, + // child1DnaId = item.child1DnaId, + // child2DnaId = item.child2DnaId, + // child3DnaId = item.child3DnaId, + // child4DnaId = item.child4DnaId, + // profileType = item.profileType, + // commandType = "C-PM-20", + // CreatedAt = _date, + // CreatedUserId = UserId, + // CreatedFullName = FullName, + // LastUpdatedAt = _date, + // LastUpdateUserId = UserId, + // LastUpdateFullName = FullName, + // }); + // } + // _context.ProfileComplaintInvestigate.AddRange(_profile); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new + profile.Status = "REPORTED"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + + var _profile = new List(); + foreach (var item in data) + { + _profile.Add(new ProfileComplaintInvestigate { - data = resultData, + PersonId = item.PersonId, + Prefix = item.Prefix, + FirstName = item.FirstName, + LastName = item.LastName, + CitizenId = item.CitizenId, + rootDnaId = item.rootDnaId, + child1DnaId = item.child1DnaId, + child2DnaId = item.child2DnaId, + child3DnaId = item.child3DnaId, + child4DnaId = item.child4DnaId, + profileType = item.profileType, + commandType = "C-PM-20", + CreatedAt = now, + CreatedUserId = UserId ?? "", + CreatedFullName = FullName ?? "System Administrator", + LastUpdatedAt = now, + LastUpdateUserId = UserId ?? "", + LastUpdateFullName = FullName ?? "System Administrator", }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - //// āļ„āļģāļŠāļąāđˆāļ‡āđ„āļĨāđˆāļ­āļ­āļ āļŦāļĢāļ·āļ­ āļ›āļĨāļ”āļ­āļ­āļ Status āļŦāļĨāļąāļ‡āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āđƒāļŠāđ‰ "REPORTED" āđ€āļžāļ·āđˆāļ­āđ„āļĄāđˆāđƒāļŦāđ‰āļŠāđˆāļ‡āļĢāļēāļĒāļŠāļ·āđˆāļ­āđ„āļ›āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡āļ‹āđ‰āļģāđ„āļ”āđ‰ - // data.ForEach(profile => { profile.Status = "REPORTED"; profile.CommandTypeId = null; }); - var _profile = new List(); - DateTime _date = DateTime.Now; - foreach (var item in data) - { - _profile.Add(new ProfileComplaintInvestigate - { - PersonId = item.PersonId, - Prefix = item.Prefix, - FirstName = item.FirstName, - LastName = item.LastName, - CitizenId = item.CitizenId, - rootDnaId = item.rootDnaId, - child1DnaId = item.child1DnaId, - child2DnaId = item.child2DnaId, - child3DnaId = item.child3DnaId, - child4DnaId = item.child4DnaId, - profileType = item.profileType, - commandType = "C-PM-20", - CreatedAt = _date, - CreatedUserId = UserId, - CreatedFullName = FullName, - LastUpdatedAt = _date, - LastUpdateUserId = UserId, - LastUpdateFullName = FullName, - }); - } - _context.ProfileComplaintInvestigate.AddRange(_profile); - await _context.SaveChangesAsync(); - } } - return Success(); + _context.ProfileComplaintInvestigate.AddRange(_profile); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1418,10 +1496,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1457,24 +1531,39 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.Status = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1562,10 +1651,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.Status = "DONE"); - await _context.SaveChangesAsync(); - var resultData = (from p in data join r in req.refIds on p.Id.ToString() equals r.refId @@ -1601,24 +1686,39 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.Status = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.Status = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1704,10 +1804,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1743,24 +1839,40 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1846,10 +1958,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -1885,24 +1993,40 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -1988,10 +2112,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2027,24 +2147,40 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2130,10 +2266,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2169,24 +2301,40 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2272,10 +2420,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - await _context.SaveChangesAsync(); - string? _null = null; var resultData = (from p in data join r in req.refIds @@ -2311,24 +2455,40 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => { profile.Status = "NEW"; profile.CommandTypeId = null; }); - //// await _context.SaveChangesAsync(); - //// } - } - return Success(); + profile.Status = "NEW"; + profile.CommandTypeId = null; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + return Success(resultData); } /// @@ -2424,15 +2584,21 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers [HttpPost("command32/report/excecute")] public async Task> PostReportCommand32Execute([FromBody] ReportExecuteRequest req) { + // C-PM-32 (āļ„āļģāļŠāļąāđˆāļ‡āļĒāļļāļ•āļīāđ€āļĢāļ·āđˆāļ­āļ‡) āļ•āđ‰āļ­āļ‡āļĒāļļāļ•āļīāļ‡āļēāļ™āđƒāļ™ 2 track āļ—āļĩāđˆāđ€āļāđ‡āļšāļ­āļĒāļđāđˆāļ„āļ™āļĨāļ°āļ•āļēāļĢāļēāļ‡: + // - data / resultData = āļāļąāđˆāļ‡ "āļāļēāļĢāļŠāļ­āļšāļŠāļ§āļ™" (DisciplineInvestigate_ProfileComplaint) + // - data1 / resultData1 = āļāļąāđˆāļ‡ "āļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļēāļĨāļ‡āđ‚āļ—āļĐ" (DisciplineDisciplinary_ProfileComplaintInvestigate) + // āļšāļļāļ„āļ„āļĨāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ (profileId āđ€āļ”āļĩāļĒāļ§āļāļąāļ™) āļ­āļēāļˆāļ­āļĒāļđāđˆāđƒāļ™āļ—āļąāđ‰āļ‡ 2 track āļˆāļķāļ‡āļ•āđ‰āļ­āļ‡āļŠāđˆāļ‡āđƒāļŦāđ‰ org āđāļĒāļ 2 āļ„āļĢāļąāđ‰āļ‡ (āļŦāđ‰āļēāļĄ merge āļĢāļ§āļĄāļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§) var data = await _context.DisciplineInvestigate_ProfileComplaints .Include(x => x.DisciplineInvestigate) // .Where(x => x.IsReport == "REPORT") .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) .ToListAsync(); - // Task #224 āļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™ process āļ—āļĩāđˆāļ„āļ§āļĢāļšāļąāļ™āļ—āļķāļāļ•āļēāļĄāļĨāļģāļ”āļąāļš - data.ForEach(profile => profile.IsReport = "DONE"); - await _context.SaveChangesAsync(); + var data1 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates + .Include(x => x.DisciplineDisciplinary) + // .Where(x => x.IsReport == "REPORT") + .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) + .ToListAsync(); string? _null = null; var resultData = (from p in data @@ -2469,29 +2635,6 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - var baseAPIOrg = _configuration["API"]; - var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData, - }); - //// var _result = await _res.Content.ReadAsStringAsync(); - //// if (_res.IsSuccessStatusCode) - //// { - //// data.ForEach(profile => profile.IsReport = "DONE"); - //// await _context.SaveChangesAsync(); - //// } - } - - var data1 = await _context.DisciplineDisciplinary_ProfileComplaintInvestigates - .Include(x => x.DisciplineDisciplinary) - // .Where(x => x.IsReport == "REPORT") - .Where(x => req.refIds.Select(x => x.refId).Contains(x.Id.ToString())) - .ToListAsync(); var resultData1 = (from p in data1 join r in req.refIds on p.Id.ToString() equals r.refId @@ -2525,23 +2668,69 @@ namespace BMA.EHR.DisciplineResult.Service.Controllers posNo = p.posMasterNo != null ? p.posMasterNo.ToString() : null, posNoAbb = p.child4ShortName != null ? p.child4ShortName : (p.child3ShortName != null ? p.child3ShortName : (p.child2ShortName != null ? p.child2ShortName : (p.child1ShortName != null ? p.child1ShortName : (p.rootShortName != null ? p.rootShortName : "")))), }).ToList(); - using (var client = new HttpClient()) - { - client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); - client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); - var _res = await client.PostAsJsonAsync(apiUrlOrg, new - { - data = resultData1, - }); - var _result = await _res.Content.ReadAsStringAsync(); - if (_res.IsSuccessStatusCode) - { - data1.ForEach(profile => profile.IsReport = "DONE"); - await _context.SaveChangesAsync(); - } - } - return Success(); + #region Old: Circular Flow + // var baseAPIOrg = _configuration["API"]; + // var apiUrlOrg = $"{baseAPIOrg}/org/command/excexute/salary-leave-discipline"; + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data.ForEach(profile => profile.IsReport = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + // using (var client = new HttpClient()) + // { + // client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); + // client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]); + // var _res = await client.PostAsJsonAsync(apiUrlOrg, new + // { + // data = resultData1, + // }); + // var _result = await _res.Content.ReadAsStringAsync(); + // if (_res.IsSuccessStatusCode) + // { + // data1.ForEach(profile => profile.IsReport = "DONE"); + // await _context.SaveChangesAsync(); + // } + // } + #endregion + + // New: Linear Flow + var now = DateTime.Now; + data.ForEach(profile => + { + profile.IsReport = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + data1.ForEach(profile => + { + profile.IsReport = "DONE"; + profile.LastUpdateFullName = FullName ?? "System Administrator"; + profile.LastUpdateUserId = UserId ?? ""; + profile.LastUpdatedAt = now; + }); + await _context.SaveChangesAsync(); + + // Return resultData for Node to process directly (Linear Flow) + // + // NOTE āļŠāļģāļŦāļĢāļąāļšāļāļąāđˆāļ‡ Node (C-PM-32 āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™): + // - response.result āđ€āļ›āđ‡āļ™ object { data, data1 } (āđ„āļĄāđˆāđƒāļŠāđˆ array āđ€āļŦāļĄāļ·āļ­āļ™āļ„āļģāļŠāļąāđˆāļ‡āļ­āļ·āđˆāļ™) + // data = āļĢāļēāļĒāļāļēāļĢāļāļąāđˆāļ‡ "āļāļēāļĢāļŠāļ­āļšāļŠāļ§āļ™" → āļĒāļīāļ‡ POST {API}/org/command/excexute/salary-leave-discipline āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ 1 + // data1 = āļĢāļēāļĒāļāļēāļĢāļāļąāđˆāļ‡ "āļāļēāļĢāļžāļīāļˆāļēāļĢāļ“āļēāļĨāļ‡āđ‚āļ—āļĐ" → āļĒāļīāļ‡ POST {API}/org/command/excexute/salary-leave-discipline āļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ 2 + // - āļ•āđ‰āļ­āļ‡āļĒāļīāļ‡ 2 āļ„āļĢāļąāđ‰āļ‡āļ•āļēāļĄāļĨāļģāļ”āļąāļš data āļāđˆāļ­āļ™ â†’ data1 (āļŦāđ‰āļēāļĄ merge āļĢāļ§āļĄāđƒāļ™āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§ āđ€āļžāļĢāļēāļ° profileId āļ­āļēāļˆāļ‹āđ‰āļģāļ‚āđ‰āļēāļĄ 2 track) + // - āļ„āļģāļŠāļąāđˆāļ‡āļ­āļ·āđˆāļ™ (C-PM-19/20/25/26/27/28/29/30/31) response.result āđ€āļ›āđ‡āļ™ array → āļĒāļīāļ‡ org 1 āļ„āļĢāļąāđ‰āļ‡ + return Success(new { data = resultData, data1 = resultData1 }); } /// diff --git a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs index c7cbf249..fe2b519a 100644 --- a/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs +++ b/BMA.EHR.Placement.Service/Controllers/PlacementAppointmentController.cs @@ -2074,7 +2074,7 @@ namespace BMA.EHR.Placement.Service.Controllers } /// - /// āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-47 + /// āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-47 āđ‚āļ›āļĢāļ”āđ€āļāļĨāđ‰āļēāļŊ āđāļ•āđˆāļ‡āļ•āļąāđ‰āļ‡āđƒāļŦāđ‰āļ”āļģāļĢāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡ /// /// /// diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs index 003166f9..4ef0e395 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementOutController.cs @@ -629,7 +629,7 @@ namespace BMA.EHR.Retirement.Service.Controllers } /// - /// āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-18 āļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāđ‰āļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ + /// āļ­āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ C-PM-18 āđƒāļŦāđ‰āļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ && C-PM-43 āđƒāļŦāđ‰āļĨāļđāļāļˆāđ‰āļēāļ‡āļ­āļ­āļāļˆāļēāļāļĢāļēāļŠāļāļēāļĢ /// /// /// From 019a0a1be1043494abdf9a7b1c595696bc92dbc9 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 29 Jun 2026 12:21:30 +0700 Subject: [PATCH 90/90] Add Get Pending Job --- .../CheckInJobStatusRepository.cs | 11 +++++++++++ BMA.EHR.Leave/Controllers/LeaveController.cs | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs index e0967a5c..902dcf64 100644 --- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs @@ -63,6 +63,17 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants return data; } + + public async Task> GetPendingOrProcessingJobsByDateAsync(DateTime date) + { + var data = await _dbContext.Set() + .Where(x => x.CreatedDate.Date == date.Date && + (x.Status == "PENDING" || x.Status == "PROCESSING")) + .OrderByDescending(x => x.CreatedDate) + .ToListAsync(); + + return data; + } /// /// āļ­āļąāļ›āđ€āļ”āļ•āļŠāļ–āļēāļ™āļ°āđ€āļ›āđ‡āļ™ Processing diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 7e6bad99..66d49d39 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -435,6 +435,24 @@ namespace BMA.EHR.Leave.Service.Controllers #region " Check-In Check-Out āļĨāļ‡āđ€āļ§āļĨāļē " + /// + /// āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ‡āļēāļ™āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰ process āļŦāļĢāļ·āļ­ āđ„āļĄāđˆāđ€āļŠāļĢāđ‡āļˆ āļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āļˆāļēāļāđ€āļ§āļĨāļēāļ›āļąāļˆāļˆāļļāļšāļąāļ™āđ„āļ›āļāļĩāđˆāļ™āļēāļ—āļĩ + /// + /// āđ€āļ§āļĨāļēāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļĒāđ‰āļ­āļ™āļŦāļĨāļąāļ‡āđ„āļ›āļ—āļĩāđˆāļ™āļēāļ—āļĩ default = 30 + /// + /// āđ€āļĄāļ·āđˆāļ­āļ—āļģāļĢāļēāļĒāļāļēāļĢāļŠāļģāđ€āļĢāđ‡āļˆ + /// āđ„āļĄāđˆāđ„āļ”āđ‰ Login āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļš + /// āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđƒāļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™ + [HttpGet("pending-jobs/{timeoutMinutes:int}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> GetPendingJobByDateAsync(int timeoutMinutes = 30) + { + var data = await _checkInJobStatusRepository.GetStalePendingOrProcessingJobsAsync(timeoutMinutes); + return Success(data); + } + /// /// LV1_006 - āđ€āļŠāđ‡āļ„āđ€āļ§āļĨāļēāļ•āđ‰āļ­āļ‡āļĨāļ‡āđ€āļ§āļĨāļēāđ€āļ‚āđ‰āļēāļŦāļĢāļ·āļ­āļ­āļ­āļāļ‡āļēāļ™ (USER) ///