apiคนพิการ
This commit is contained in:
parent
be27aa4d33
commit
1d4043a50e
37 changed files with 9794 additions and 298 deletions
|
|
@ -26,6 +26,7 @@
|
||||||
<PackageReference Include="AWSSDK.S3" Version="3.7.103.39" />
|
<PackageReference Include="AWSSDK.S3" Version="3.7.103.39" />
|
||||||
<PackageReference Include="BMA.EHR.Core" Version="1.0.0" />
|
<PackageReference Include="BMA.EHR.Core" Version="1.0.0" />
|
||||||
<PackageReference Include="BMA.EHR.Extensions" Version="1.0.1" />
|
<PackageReference Include="BMA.EHR.Extensions" Version="1.0.1" />
|
||||||
|
<PackageReference Include="BouncyCastle.NetCore" Version="1.9.0" />
|
||||||
<PackageReference Include="EPPlus" Version="6.1.3" />
|
<PackageReference Include="EPPlus" Version="6.1.3" />
|
||||||
<PackageReference Include="EPPlus.Interfaces" Version="6.1.1" />
|
<PackageReference Include="EPPlus.Interfaces" Version="6.1.1" />
|
||||||
<PackageReference Include="EPPlus.System.Drawing" Version="6.1.1" />
|
<PackageReference Include="EPPlus.System.Drawing" Version="6.1.1" />
|
||||||
|
|
@ -55,6 +56,7 @@
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
||||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0" />
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Sentry.AspNetCore" Version="3.30.0" />
|
||||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
<PackageReference Include="Serilog" Version="2.12.0" />
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
|
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
|
||||||
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
|
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" />
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||||
return Success(GlobalMessages.Success, result);
|
return Success(GlobalMessages.Success, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual ActionResult<ResponseObject> Error(string message, string result, int statusCode = StatusCodes.Status500InternalServerError)
|
||||||
|
{
|
||||||
|
return StatusCode((int)statusCode, new ResponseObject
|
||||||
|
{
|
||||||
|
Status = statusCode,
|
||||||
|
Message = message,
|
||||||
|
Result = result
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected virtual ActionResult<ResponseObject> Error(string message, int statusCode = StatusCodes.Status500InternalServerError)
|
protected virtual ActionResult<ResponseObject> Error(string message, int statusCode = StatusCodes.Status500InternalServerError)
|
||||||
{
|
{
|
||||||
return StatusCode((int)statusCode, new ResponseObject
|
return StatusCode((int)statusCode, new ResponseObject
|
||||||
|
|
@ -51,6 +62,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual ActionResult<ResponseObject> Error(Exception exception, string message, int statusCode = StatusCodes.Status500InternalServerError)
|
||||||
|
{
|
||||||
|
var msg = exception.Message;
|
||||||
|
var inner = exception.InnerException;
|
||||||
|
while (inner != null)
|
||||||
|
{
|
||||||
|
msg += $" {inner.Message}\r\n";
|
||||||
|
inner = inner.InnerException;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Error(message, msg, statusCode);
|
||||||
|
}
|
||||||
|
|
||||||
protected virtual ActionResult<ResponseObject> Error(Exception exception, int statusCode = StatusCodes.Status500InternalServerError)
|
protected virtual ActionResult<ResponseObject> Error(Exception exception, int statusCode = StatusCodes.Status500InternalServerError)
|
||||||
{
|
{
|
||||||
var msg = exception.Message;
|
var msg = exception.Message;
|
||||||
|
|
|
||||||
1819
Controllers/DisableController.cs
Normal file
1819
Controllers/DisableController.cs
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -670,6 +670,34 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// โหลดผู้สมัครสอบ(รายละเอียด)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="examId">รหัสรอบสมัคร</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <response code="200">เมื่อทำการอ่านโหลดผู้สมัครสอบ(รายละเอียด)สำเร็จ</response>
|
||||||
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
|
[HttpGet("download/detail/{examId:length(36)}")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<ActionResult<ResponseObject>> DownloadCandidateAllAsync(string examId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var stream = await _periodExamService.DownloadCandidateAllAsync(examId);
|
||||||
|
|
||||||
|
string excelName = $"Candidate_{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xlsx";
|
||||||
|
return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelName);
|
||||||
|
// return Success();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return Error(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ข้อมูลตำแหน่งสมัครสอบ
|
/// ข้อมูลตำแหน่งสมัครสอบ
|
||||||
/// <param name="examId">รหัสรอบสมัคร</param>
|
/// <param name="examId">รหัสรอบสมัคร</param>
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
public class GlobalMessages
|
public class GlobalMessages
|
||||||
{
|
{
|
||||||
public const string Success = "Success";
|
public const string Success = "Success";
|
||||||
|
public const string DataNotFound = "ไม่พบข้อมูลในระบบ";
|
||||||
public const string FileNotFoundOnServer = "ไม่พบไฟล์ในระบบ!!";
|
public const string FileNotFoundOnServer = "ไม่พบไฟล์ในระบบ!!";
|
||||||
public const string CannotInsertToDatabase = "ไม่สามารถบันทึกลงฐานข้อมูลได้!!";
|
public const string CannotInsertToDatabase = "ไม่สามารถบันทึกลงฐานข้อมูลได้!!";
|
||||||
public const string InvalidRequestParam = "Request parameter ไม่ถูกต้อง!!";
|
public const string InvalidRequestParam = "Request parameter ไม่ถูกต้อง!!";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
|
||||||
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
|
@ -13,6 +14,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
|
// disable relation setup
|
||||||
|
modelBuilder.Entity<PeriodExam>().HasMany(x => x.Disables).WithOne(x => x.PeriodExam).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
modelBuilder.Entity<Models.Disables.Disable>().HasMany(x => x.Educations).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
modelBuilder.Entity<Models.Disables.Disable>().HasMany(x => x.Occupations).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
modelBuilder.Entity<Models.Disables.Disable>().HasMany(x => x.Addresses).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
modelBuilder.Entity<Models.Disables.Disable>().HasMany(x => x.Certificates).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade);
|
||||||
|
modelBuilder.Entity<Models.Disables.Disable>().HasMany(x => x.Payments).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public DbSet<Prefix> Prefixes { get; set; }
|
// public DbSet<Prefix> Prefixes { get; set; }
|
||||||
|
|
@ -55,5 +63,25 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
|
||||||
|
|
||||||
public DbSet<CMSGovernment> CMSGovernments { get; set; }
|
public DbSet<CMSGovernment> CMSGovernments { get; set; }
|
||||||
|
|
||||||
|
public DbSet<Models.Disables.Disable> Disables { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableAddress> DisableAddresses { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableOccupation> DisableOccupations { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableCertificate> DisableCertificates { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableEducation> DisableEducations { get; set; }
|
||||||
|
|
||||||
|
public DbSet<ScoreImport> ScoreImports { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableScore> DisableScores { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisablePayment> DisablePayments { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableDocument> DisableDocuments { get; set; }
|
||||||
|
|
||||||
|
public DbSet<DisableImportHistory> DisableImportHistories { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
19
Extensions/ExcelWorksheetExtension.cs
Normal file
19
Extensions/ExcelWorksheetExtension.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
using OfficeOpenXml;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Extensions
|
||||||
|
{
|
||||||
|
public static class ExcelWorksheetExtension
|
||||||
|
{
|
||||||
|
public static string[] GetHeaderColumns(this ExcelWorksheet sheet, int row = 1)
|
||||||
|
{
|
||||||
|
List<string> columnNames = new List<string>();
|
||||||
|
foreach (var firstRowCell in sheet.Cells[row, sheet.Dimension.Start.Column, 1, sheet.Dimension.End.Column])
|
||||||
|
columnNames.Add(firstRowCell.Text);
|
||||||
|
return columnNames.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
1568
Migrations/20230428110529_update table candidate add number.Designer.cs
generated
Normal file
1568
Migrations/20230428110529_update table candidate add number.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,30 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class updatetablecandidateaddnumber : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "Number",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "ลำดับที่สอบได้")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "Number",
|
||||||
|
table: "Candidates");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2741
Migrations/20230428220613_create table add disable.Designer.cs
generated
Normal file
2741
Migrations/20230428220613_create table add disable.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
663
Migrations/20230428220613_create table add disable.cs
Normal file
663
Migrations/20230428220613_create table add disable.cs
Normal file
|
|
@ -0,0 +1,663 @@
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class createtableadddisable : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<Guid>(
|
||||||
|
name: "ImportFileId",
|
||||||
|
table: "PeriodExams",
|
||||||
|
type: "char(36)",
|
||||||
|
nullable: true,
|
||||||
|
collation: "ascii_general_ci");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "RelationshipName",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "สถานภาพ",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "longtext",
|
||||||
|
oldNullable: true,
|
||||||
|
oldComment: "ศาสนา")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "RelationshipId",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "char(36)",
|
||||||
|
nullable: true,
|
||||||
|
comment: "Id สถานภาพ",
|
||||||
|
collation: "ascii_general_ci",
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "char(36)",
|
||||||
|
oldNullable: true,
|
||||||
|
oldComment: "Id ศาสนา")
|
||||||
|
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableImportHistories",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
Description = table.Column<string>(type: "longtext", nullable: false, comment: "รายละเอียดการนำเข้า")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
PeriodExamId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableImportHistories", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableImportHistories_PeriodExams_PeriodExamId",
|
||||||
|
column: x => x.PeriodExamId,
|
||||||
|
principalTable: "PeriodExams",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Disables",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CitizenId = table.Column<string>(type: "varchar(13)", maxLength: 13, nullable: false, comment: "เลขประจำตัวประชาชน")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ExamId = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Prefix = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
FirstName = table.Column<string>(type: "varchar(150)", maxLength: 150, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastName = table.Column<string>(type: "varchar(150)", maxLength: 150, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Gendor = table.Column<string>(type: "varchar(20)", maxLength: 20, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
National = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Race = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Religion = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
DateOfBirth = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
Marry = table.Column<string>(type: "varchar(20)", maxLength: 20, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Isspecial = table.Column<string>(type: "varchar(1)", maxLength: 1, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
RefNo = table.Column<string>(type: "varchar(20)", maxLength: 20, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CitizenCardIssuer = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CitizenCardExpireDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
Remark = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Qualified = table.Column<string>(type: "varchar(1)", maxLength: 1, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
PeriodExamId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||||
|
CreatedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
ModifiedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
ApplyDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
PositionName = table.Column<string>(type: "longtext", nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Disables", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Disables_PeriodExams_PeriodExamId",
|
||||||
|
column: x => x.PeriodExamId,
|
||||||
|
principalTable: "PeriodExams",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "ScoreImports",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Year = table.Column<int>(type: "int", nullable: true),
|
||||||
|
ImportFileId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||||
|
PeriodExamId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_ScoreImports", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_ScoreImports_Documents_ImportFileId",
|
||||||
|
column: x => x.ImportFileId,
|
||||||
|
principalTable: "Documents",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_ScoreImports_PeriodExams_PeriodExamId",
|
||||||
|
column: x => x.PeriodExamId,
|
||||||
|
principalTable: "PeriodExams",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableAddresses",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Address = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Moo = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Soi = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Road = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
District = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Amphur = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Province = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ZipCode = table.Column<string>(type: "varchar(5)", maxLength: 5, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Telephone = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Mobile = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Address1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Moo1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Soi1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Road1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
District1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Amphur1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Province1 = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ZipCode1 = table.Column<string>(type: "varchar(5)", maxLength: 5, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableAddresses", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableAddresses_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableCertificates",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CertificateNo = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Description = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
IssueDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
ExpiredDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableCertificates", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableCertificates_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableDocuments",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
DocumentFileId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableDocuments", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableDocuments_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableDocuments_Documents_DocumentFileId",
|
||||||
|
column: x => x.DocumentFileId,
|
||||||
|
principalTable: "Documents",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableEducations",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Degree = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Major = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
MajorGroupId = table.Column<string>(type: "varchar(20)", maxLength: 20, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
MajorGroupName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
University = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
GPA = table.Column<double>(type: "double", nullable: false),
|
||||||
|
Specialist = table.Column<string>(type: "varchar(1000)", maxLength: 1000, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
HighDegree = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
BachelorDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableEducations", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableEducations_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableOccupations",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Occupation = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
WorkAge = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Position = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Workplace = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Telephone = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableOccupations", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableOccupations_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisablePayments",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
PaymentId = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CompanyCode = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TextFile = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
BankCode = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
AccountNumber = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TransDate = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TransTime = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CustomerName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
RefNo1 = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TermBranch = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
TellerId = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreditDebit = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
PaymentType = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ChequeNo = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Amount = table.Column<decimal>(type: "decimal(65,30)", nullable: false),
|
||||||
|
ChqueBankCode = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
DisableId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisablePayments", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisablePayments_Disables_DisableId",
|
||||||
|
column: x => x.DisableId,
|
||||||
|
principalTable: "Disables",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "DisableScores",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "char(36)", nullable: false, comment: "PrimaryKey", collation: "ascii_general_ci"),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "สร้างข้อมูลเมื่อ"),
|
||||||
|
CreatedUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "แก้ไขข้อมูลล่าสุดเมื่อ"),
|
||||||
|
LastUpdateUserId = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: false, comment: "User Id ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
CreatedFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่สร้างข้อมูล")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
LastUpdateFullName = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ชื่อ User ที่แก้ไขข้อมูลล่าสุด")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ExamId = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
SumA = table.Column<int>(type: "int", nullable: false),
|
||||||
|
FullA = table.Column<int>(type: "int", nullable: false),
|
||||||
|
PercentageA = table.Column<double>(type: "double", nullable: false),
|
||||||
|
AStatus = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
SumB = table.Column<int>(type: "int", nullable: false),
|
||||||
|
FullB = table.Column<int>(type: "int", nullable: false),
|
||||||
|
PercentageB = table.Column<double>(type: "double", nullable: false),
|
||||||
|
BStatus = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
SumAB = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ABStatus = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
SumC = table.Column<int>(type: "int", nullable: false),
|
||||||
|
FullC = table.Column<int>(type: "int", nullable: false),
|
||||||
|
PercentageC = table.Column<double>(type: "double", nullable: false),
|
||||||
|
CStatus = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ExamStatus = table.Column<string>(type: "varchar(50)", maxLength: 50, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Major = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
Number = table.Column<string>(type: "varchar(200)", maxLength: 200, nullable: false, comment: "ลำดับที่สอบได้")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||||
|
ScoreImportId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_DisableScores", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_DisableScores_ScoreImports_ScoreImportId",
|
||||||
|
column: x => x.ScoreImportId,
|
||||||
|
principalTable: "ScoreImports",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
})
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_PeriodExams_ImportFileId",
|
||||||
|
table: "PeriodExams",
|
||||||
|
column: "ImportFileId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableAddresses_DisableId",
|
||||||
|
table: "DisableAddresses",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableCertificates_DisableId",
|
||||||
|
table: "DisableCertificates",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableDocuments_DisableId",
|
||||||
|
table: "DisableDocuments",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableDocuments_DocumentFileId",
|
||||||
|
table: "DisableDocuments",
|
||||||
|
column: "DocumentFileId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableEducations_DisableId",
|
||||||
|
table: "DisableEducations",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableImportHistories_PeriodExamId",
|
||||||
|
table: "DisableImportHistories",
|
||||||
|
column: "PeriodExamId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableOccupations_DisableId",
|
||||||
|
table: "DisableOccupations",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisablePayments_DisableId",
|
||||||
|
table: "DisablePayments",
|
||||||
|
column: "DisableId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Disables_PeriodExamId",
|
||||||
|
table: "Disables",
|
||||||
|
column: "PeriodExamId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_DisableScores_ScoreImportId",
|
||||||
|
table: "DisableScores",
|
||||||
|
column: "ScoreImportId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ScoreImports_ImportFileId",
|
||||||
|
table: "ScoreImports",
|
||||||
|
column: "ImportFileId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ScoreImports_PeriodExamId",
|
||||||
|
table: "ScoreImports",
|
||||||
|
column: "PeriodExamId",
|
||||||
|
unique: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_PeriodExams_Documents_ImportFileId",
|
||||||
|
table: "PeriodExams",
|
||||||
|
column: "ImportFileId",
|
||||||
|
principalTable: "Documents",
|
||||||
|
principalColumn: "Id");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_PeriodExams_Documents_ImportFileId",
|
||||||
|
table: "PeriodExams");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableAddresses");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableCertificates");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableDocuments");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableEducations");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableImportHistories");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableOccupations");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisablePayments");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "DisableScores");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Disables");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "ScoreImports");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_PeriodExams_ImportFileId",
|
||||||
|
table: "PeriodExams");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ImportFileId",
|
||||||
|
table: "PeriodExams");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "RelationshipName",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "ศาสนา",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "longtext",
|
||||||
|
oldNullable: true,
|
||||||
|
oldComment: "สถานภาพ")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4")
|
||||||
|
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<Guid>(
|
||||||
|
name: "RelationshipId",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "char(36)",
|
||||||
|
nullable: true,
|
||||||
|
comment: "Id ศาสนา",
|
||||||
|
collation: "ascii_general_ci",
|
||||||
|
oldClrType: typeof(Guid),
|
||||||
|
oldType: "char(36)",
|
||||||
|
oldNullable: true,
|
||||||
|
oldComment: "Id สถานภาพ")
|
||||||
|
.OldAnnotation("Relational:Collation", "ascii_general_ci");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -49,6 +49,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
[Comment("Id หลักฐานชำระเงิน")]
|
[Comment("Id หลักฐานชำระเงิน")]
|
||||||
public virtual Document? PaymentImg { get; set; }
|
public virtual Document? PaymentImg { get; set; }
|
||||||
|
|
||||||
|
[Comment("ลำดับที่สอบได้")]
|
||||||
|
public string? Number { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[Comment("Id คำนำหน้าชื่อ")]
|
[Comment("Id คำนำหน้าชื่อ")]
|
||||||
|
|
@ -69,10 +71,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
[MaxLength(40), Comment("วันเกิด")]
|
[MaxLength(40), Comment("วันเกิด")]
|
||||||
public DateTime? DateOfBirth { get; set; }
|
public DateTime? DateOfBirth { get; set; }
|
||||||
|
|
||||||
[Comment("Id ศาสนา")]
|
[Comment("Id สถานภาพ")]
|
||||||
public Guid? RelationshipId { get; set; }
|
public Guid? RelationshipId { get; set; }
|
||||||
|
|
||||||
[Comment("ศาสนา")]
|
[Comment("สถานภาพ")]
|
||||||
public string? RelationshipName { get; set; }
|
public string? RelationshipName { get; set; }
|
||||||
|
|
||||||
[MaxLength(200), Comment("อีเมล")]
|
[MaxLength(200), Comment("อีเมล")]
|
||||||
|
|
|
||||||
81
Models/Disable/Disable.cs
Normal file
81
Models/Disable/Disable.cs
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class Disable : EntityBase
|
||||||
|
{
|
||||||
|
|
||||||
|
[Required, MaxLength(13), Comment("เลขประจำตัวประชาชน")]
|
||||||
|
public string CitizenId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required, MaxLength(50)]
|
||||||
|
public string ExamId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required, MaxLength(50)]
|
||||||
|
public string Prefix { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required, MaxLength(150)]
|
||||||
|
public string FirstName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required, MaxLength(150)]
|
||||||
|
public string LastName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(20)]
|
||||||
|
public string Gendor { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string National { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Race { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Religion { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public DateTime DateOfBirth { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(20)]
|
||||||
|
public string Marry { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(1)]
|
||||||
|
public string Isspecial { get; set; } = "N";
|
||||||
|
|
||||||
|
[MaxLength(20)]
|
||||||
|
public string RefNo { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string CitizenCardIssuer { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public DateTime CitizenCardExpireDate { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Remark { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[MaxLength(1)]
|
||||||
|
public string Qualified { get; set; } = "Y";
|
||||||
|
|
||||||
|
public PeriodExam? PeriodExam { get; set; }
|
||||||
|
|
||||||
|
public virtual List<DisableAddress> Addresses { get; set; } = new List<DisableAddress>();
|
||||||
|
|
||||||
|
public virtual List<DisableOccupation> Occupations { get; set; } = new List<DisableOccupation>();
|
||||||
|
|
||||||
|
public virtual List<DisableCertificate> Certificates { get; set; } = new List<DisableCertificate>();
|
||||||
|
|
||||||
|
public virtual List<DisableEducation> Educations { get; set; } = new List<DisableEducation>();
|
||||||
|
|
||||||
|
public virtual List<DisablePayment> Payments { get; set; } = new List<DisablePayment>();
|
||||||
|
|
||||||
|
public virtual List<DisableDocument> Documents { get; set; } = new List<DisableDocument>();
|
||||||
|
|
||||||
|
public DateTime CreatedDate { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
public DateTime ModifiedDate { get; set; }
|
||||||
|
|
||||||
|
public DateTime ApplyDate { get; set; }
|
||||||
|
|
||||||
|
public string? PositionName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
63
Models/Disable/DisableAddress.cs
Normal file
63
Models/Disable/DisableAddress.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableAddress : EntityBase
|
||||||
|
{
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Address { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Moo { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Soi { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Road { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string District { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Amphur { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Province { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(5)]
|
||||||
|
public string ZipCode { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Telephone { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Mobile { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Address1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Moo1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Soi1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Road1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string District1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Amphur1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Province1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(5)]
|
||||||
|
public string ZipCode1 { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Models/Disable/DisableCertificate.cs
Normal file
19
Models/Disable/DisableCertificate.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableCertificate : EntityBase
|
||||||
|
{
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string CertificateNo { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
public DateTime IssueDate { get; set; }
|
||||||
|
|
||||||
|
public DateTime ExpiredDate { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
13
Models/Disable/DisableDocument.cs
Normal file
13
Models/Disable/DisableDocument.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableDocument : EntityBase
|
||||||
|
{
|
||||||
|
public DateTime CreatedDate { get; set; }
|
||||||
|
|
||||||
|
public Document DocumentFile { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
33
Models/Disable/DisableEducation.cs
Normal file
33
Models/Disable/DisableEducation.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableEducation : EntityBase
|
||||||
|
{
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Degree { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Major { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(20)]
|
||||||
|
public string MajorGroupId { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string MajorGroupName { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string University { get; set; }
|
||||||
|
public double GPA { get; set; } = 0.0;
|
||||||
|
|
||||||
|
[MaxLength(1000)]
|
||||||
|
public string Specialist { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string HighDegree { get; set; }
|
||||||
|
|
||||||
|
public DateTime BachelorDate { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
14
Models/Disable/DisableImportHistory.cs
Normal file
14
Models/Disable/DisableImportHistory.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableImportHistory : EntityBase
|
||||||
|
{
|
||||||
|
[Required, Comment("รายละเอียดการนำเข้า"), Column(Order = 1)]
|
||||||
|
public string Description { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public PeriodExam PeriodExam { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
24
Models/Disable/DisableOccupation.cs
Normal file
24
Models/Disable/DisableOccupation.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableOccupation : EntityBase
|
||||||
|
{
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Occupation { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string WorkAge { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Position { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Workplace { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Telephone { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
56
Models/Disable/DisablePayment.cs
Normal file
56
Models/Disable/DisablePayment.cs
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisablePayment : EntityBase
|
||||||
|
{
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string PaymentId { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string CompanyCode { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string TextFile { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string BankCode { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string AccountNumber { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string TransDate { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string TransTime { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string CustomerName { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string RefNo1 { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string TermBranch { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string TellerId { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string CreditDebit { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string PaymentType { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string ChequeNo { get; set; }
|
||||||
|
|
||||||
|
public decimal Amount { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string ChqueBankCode { get; set; }
|
||||||
|
|
||||||
|
public Disable Disable { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
54
Models/Disable/DisableScore.cs
Normal file
54
Models/Disable/DisableScore.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class DisableScore : EntityBase
|
||||||
|
{
|
||||||
|
[Required, MaxLength(50)]
|
||||||
|
public string ExamId { get; set; }
|
||||||
|
|
||||||
|
public int SumA { get; set; }
|
||||||
|
|
||||||
|
public int FullA { get; set; }
|
||||||
|
|
||||||
|
public double PercentageA { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string AStatus { get; set; }
|
||||||
|
|
||||||
|
public int SumB { get; set; }
|
||||||
|
|
||||||
|
public int FullB { get; set; }
|
||||||
|
|
||||||
|
public double PercentageB { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string BStatus { get; set; }
|
||||||
|
|
||||||
|
public int SumAB { get; set; }
|
||||||
|
|
||||||
|
[Required, MaxLength(50)]
|
||||||
|
public string ABStatus { get; set; }
|
||||||
|
|
||||||
|
public int SumC { get; set; }
|
||||||
|
|
||||||
|
public int FullC { get; set; }
|
||||||
|
|
||||||
|
public double PercentageC { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string CStatus { get; set; }
|
||||||
|
|
||||||
|
[Required, MaxLength(50)]
|
||||||
|
public string ExamStatus { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string Major { get; set; }
|
||||||
|
|
||||||
|
[MaxLength(200), Comment("ลำดับที่สอบได้")]
|
||||||
|
public string Number { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public ScoreImport ScoreImport { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Models/Disable/ScoreImport.cs
Normal file
19
Models/Disable/ScoreImport.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
|
||||||
|
{
|
||||||
|
public class ScoreImport : EntityBase
|
||||||
|
{
|
||||||
|
public int? Year { get; set; }
|
||||||
|
|
||||||
|
public Document ImportFile { get; set; } = new Document();
|
||||||
|
|
||||||
|
public virtual List<DisableScore> Scores { get; set; } = new List<DisableScore>();
|
||||||
|
|
||||||
|
[ForeignKey("FK_Score_Import_ID")]
|
||||||
|
public Guid PeriodExamId { get; set; }
|
||||||
|
|
||||||
|
public PeriodExam PeriodExam { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||||
|
|
||||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
{
|
{
|
||||||
|
|
@ -95,5 +97,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
|
|
||||||
[Comment("รูป")]
|
[Comment("รูป")]
|
||||||
public virtual List<PeriodExamImage> PeriodExamImages { get; set; } = new();
|
public virtual List<PeriodExamImage> PeriodExamImages { get; set; } = new();
|
||||||
|
public Document? ImportFile { get; set; } = new Document();
|
||||||
|
public List<Disable> Disables { get; set; } = new List<Disable>();
|
||||||
|
public ScoreImport? ScoreImport { get; set; }
|
||||||
|
public List<DisableImportHistory> ImportHostories { get; set; } = new List<DisableImportHistory>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ builder.Services.AddCors(options => options.AddDefaultPolicy(builder =>
|
||||||
|
|
||||||
// Register Service
|
// Register Service
|
||||||
builder.Services.AddTransient<CandidateService>();
|
builder.Services.AddTransient<CandidateService>();
|
||||||
|
builder.Services.AddTransient<DisableService>();
|
||||||
builder.Services.AddTransient<PeriodExamService>();
|
builder.Services.AddTransient<PeriodExamService>();
|
||||||
builder.Services.AddTransient<MinIOService>();
|
builder.Services.AddTransient<MinIOService>();
|
||||||
builder.Services.AddTransient<MailService>();
|
builder.Services.AddTransient<MailService>();
|
||||||
|
|
|
||||||
84
Request/Disables/CandidateFileHeader.cs
Normal file
84
Request/Disables/CandidateFileHeader.cs
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Request.Disables
|
||||||
|
{
|
||||||
|
public class CandidateFileHeader
|
||||||
|
{
|
||||||
|
// Profile
|
||||||
|
public static string ExamID = "เลขประจำตัวสอบ";
|
||||||
|
public static string PersonalID = "CustomerID";
|
||||||
|
public static string Prefix = "Name1";
|
||||||
|
public static string FirstName = "Name2";
|
||||||
|
public static string LastName = "Name3";
|
||||||
|
public static string Gender = "Gender";
|
||||||
|
public static string National = "National";
|
||||||
|
public static string Race = "Race";
|
||||||
|
public static string Religion = "Religion";
|
||||||
|
public static string DateOfBirth = "BirthDMY";
|
||||||
|
public static string Marry = "Marry";
|
||||||
|
public static string RefNo = "RefNo1";
|
||||||
|
public static string PersonalCardIssue = "CusIDFrom";
|
||||||
|
public static string PersonalCardExpireDate = "CusIDExpireDate";
|
||||||
|
public static string ApplyDate = "DateTime";
|
||||||
|
public static string PositionName = "PositionName";
|
||||||
|
|
||||||
|
// Address
|
||||||
|
public static string Address = "Address";
|
||||||
|
public static string Moo = "Moo";
|
||||||
|
public static string Soi = "Soi";
|
||||||
|
public static string Road = "Road";
|
||||||
|
public static string District = "District";
|
||||||
|
public static string Amphur = "Amphur";
|
||||||
|
public static string Province = "Province";
|
||||||
|
public static string ZipCode = "Zipcode";
|
||||||
|
public static string Telephone = "Telephone";
|
||||||
|
public static string Mobile = "TelMobile";
|
||||||
|
public static string Address1 = "Address1";
|
||||||
|
public static string Moo1 = "Moo1";
|
||||||
|
public static string Soi1 = "Soi1";
|
||||||
|
public static string Road1 = "Road1";
|
||||||
|
public static string District1 = "District1";
|
||||||
|
public static string Amphur1 = "Amphur1";
|
||||||
|
public static string ZipCode1 = "Zipcode1";
|
||||||
|
|
||||||
|
// Occupation
|
||||||
|
public static string Occupation = "Occupation";
|
||||||
|
public static string WorkAge = "WorkAge";
|
||||||
|
public static string Position = "txtPosition";
|
||||||
|
public static string Workplace = "txtWorkplace";
|
||||||
|
public static string WorkplaceTelephone = "TxtTelephone";
|
||||||
|
|
||||||
|
// Certificate
|
||||||
|
public static string CertificateNo = "CerNo";
|
||||||
|
public static string CertificateDesc = "CerTeacherDesc";
|
||||||
|
public static string CertificateIssueDate = "CerNoDMY";
|
||||||
|
public static string CertificateExpireDate = "CerNoExpDMY";
|
||||||
|
|
||||||
|
// EEducation
|
||||||
|
public static string Degree = "Degree";
|
||||||
|
public static string Major = "Major";
|
||||||
|
public static string MajorGroupID = "MajorGroup";
|
||||||
|
public static string MajorGroupName = "txtMajorGroup";
|
||||||
|
public static string GPA = "GPA";
|
||||||
|
public static string SpecialList = "SpecialList";
|
||||||
|
public static string University = "University";
|
||||||
|
public static string HighDegree = "HighDegree";
|
||||||
|
public static string BachelorDate = "BachelorDMY";
|
||||||
|
|
||||||
|
// payment
|
||||||
|
public static string PaymentID = "ID";
|
||||||
|
public static string CompanyCode = "CompanyCode";
|
||||||
|
public static string TextFile = "TextFile";
|
||||||
|
public static string BankCode = "BankCode";
|
||||||
|
public static string AccouontNumer = "AccountNumber";
|
||||||
|
public static string TransDate = "TransDate";
|
||||||
|
public static string TransTime = "TransTime";
|
||||||
|
public static string CustomerName = "CustomerName";
|
||||||
|
public static string RefNo1 = "RefNo1";
|
||||||
|
public static string TermBranch = "TermBranch";
|
||||||
|
public static string TellerID = "TellerID";
|
||||||
|
public static string CreditDebit = "CreditDeBit";
|
||||||
|
public static string Type = "Type";
|
||||||
|
public static string ChequeNo = "ChequeNo";
|
||||||
|
public static string Amount = "Amount";
|
||||||
|
public static string ChqBankCode = "ChqBankCode";
|
||||||
|
}
|
||||||
|
}
|
||||||
16
Request/Disables/DisableExamRequest.cs
Normal file
16
Request/Disables/DisableExamRequest.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Request.Disables
|
||||||
|
{
|
||||||
|
public class DisableExamRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ข้อมูลคุณสมบัติของผู้เข้าสอบ โดยส่งมาจากหน้าจอ 'มีคุณสมบัติ' 'ขาดคุณสมบัติ'
|
||||||
|
/// </summary>
|
||||||
|
public string ExamAttribute { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ข้อมูลผลการสอบ 'ผ่าน' 'ไม่ผ่าน'
|
||||||
|
/// </summary>
|
||||||
|
public string ExamResult { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
86
Request/Disables/PostDisableImportRequest.cs
Normal file
86
Request/Disables/PostDisableImportRequest.cs
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Request.Disables
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ตัวแปรสำหรับสร้างข้อมูลการสอบคัดเลือกผู้พิการ
|
||||||
|
/// </summary>
|
||||||
|
public class PostDisableImportRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ปีงบประมาณที่จัดสอบ
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int Year { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// รอบการสอบ
|
||||||
|
/// </summary>
|
||||||
|
[Required, MaxLength(250)]
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ครั้งที่
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int Round { get; set; } = 1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// รายละเอียด
|
||||||
|
/// </summary>
|
||||||
|
public string? Detail { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ค่าธรรมเนียม
|
||||||
|
/// </summary>
|
||||||
|
public int Fee { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันเริ่มประกาศ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AnnouncementStartDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันสิ้นสุดประกาศ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AnnouncementEndDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันเริ่มชำระเงิน
|
||||||
|
/// </summary>
|
||||||
|
public DateTime PaymentStartDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันสิ้นสุดชำระเงิน
|
||||||
|
/// </summary>
|
||||||
|
public DateTime PaymentEndDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันเริ่มสมัครสอบ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime RegisterStartDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันสิ้นสุดสมัครสอบ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime RegisterEndDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันที่สอบ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime ExamDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// หมายเหตุ
|
||||||
|
/// </summary>
|
||||||
|
public string? Note { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันที่ประกาศผลสอบ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime AnnouncementDate { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -19,6 +19,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
public string? PointC { get; set; }
|
public string? PointC { get; set; }
|
||||||
public string? ResultC { get; set; }
|
public string? ResultC { get; set; }
|
||||||
public string? Pass { get; set; }
|
public string? Pass { get; set; }
|
||||||
|
public string? Number { get; set; }
|
||||||
public DateTime? AnnouncementDate { get; set; }
|
public DateTime? AnnouncementDate { get; set; }
|
||||||
public Guid? Id { get; set; }
|
public Guid? Id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,5 +15,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
public string? PointC { get; set; }
|
public string? PointC { get; set; }
|
||||||
public string? ResultC { get; set; }
|
public string? ResultC { get; set; }
|
||||||
public string? Pass { get; set; }
|
public string? Pass { get; set; }
|
||||||
|
public string? Number { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
||||||
{
|
{
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
public bool CheckDocument { get; set; } = false;
|
public bool CheckDocument { get; set; } = false;
|
||||||
public bool CheckDisability { get; set; } = false;
|
// public bool CheckDisability { get; set; } = false;
|
||||||
public int? Round { get; set; }
|
public int? Round { get; set; }
|
||||||
public int? Year { get; set; }
|
public int? Year { get; set; }
|
||||||
public float? Fee { get; set; } = 0;
|
public float? Fee { get; set; } = 0;
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<CandidateInformationResponseItem?> GetsAsyncInformation(string examId, string positionId)
|
public async Task<CandidateInformationResponseItem?> GetsAsyncInformation(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -133,6 +134,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<CandidateAddressResponseItem?> GetsAsyncAddress(string examId, string positionId)
|
public async Task<CandidateAddressResponseItem?> GetsAsyncAddress(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -201,6 +203,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<CandidateFamilyResponseItem?> GetsAsyncFamily(string examId, string positionId)
|
public async Task<CandidateFamilyResponseItem?> GetsAsyncFamily(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -273,6 +276,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<CandidateOccupationResponseItem?> GetsAsyncOccupation(string examId, string positionId)
|
public async Task<CandidateOccupationResponseItem?> GetsAsyncOccupation(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -319,6 +323,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<IEnumerable<Career?>> GetsAsyncCareer(string examId, string positionId)
|
public async Task<IEnumerable<Career?>> GetsAsyncCareer(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -351,6 +356,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<IEnumerable<Education?>> GetsAsyncEducation(string examId, string positionId)
|
public async Task<IEnumerable<Education?>> GetsAsyncEducation(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -383,6 +389,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<IEnumerable<FileListResponse?>> GetsAsyncFileUpload(string examId, string positionId)
|
public async Task<IEnumerable<FileListResponse?>> GetsAsyncFileUpload(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -465,6 +472,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<string> GetsAsyncProfileImage(string examId, string positionId)
|
public async Task<string> GetsAsyncProfileImage(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -516,6 +524,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<PaymentImgResponse> GetsAsyncPaymentImg(string examId, string positionId)
|
public async Task<PaymentImgResponse> GetsAsyncPaymentImg(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -568,6 +577,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<RequestStatusRegistry> GetsAsyncRegisterExam(string examId, string positionId)
|
public async Task<RequestStatusRegistry> GetsAsyncRegisterExam(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.Include(x => x.BankExam)
|
.Include(x => x.BankExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
|
@ -610,6 +620,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<string> CreateAsyncCandidate(string examId, string positionId)
|
public async Task<string> CreateAsyncCandidate(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -1426,6 +1437,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task DeleteAsyncDocument(string examId, string positionId, string documentId)
|
public async Task DeleteAsyncDocument(string examId, string positionId, string documentId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
|
@ -1651,6 +1663,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<CandidateStatusResponse> GetStatusCandidateService(string examId, string positionId)
|
public async Task<CandidateStatusResponse> GetStatusCandidateService(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -1680,6 +1693,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UserCheckCandidateService(string examId, string positionId, string status)
|
public async Task UserCheckCandidateService(string examId, string positionId, string status)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
|
@ -1856,6 +1870,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<RequestCardCandidate> GetsAsyncCardCandidate(string examId, string positionId)
|
public async Task<RequestCardCandidate> GetsAsyncCardCandidate(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
|
|
@ -1898,6 +1913,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
PointC = candidate.PointC,
|
PointC = candidate.PointC,
|
||||||
ResultC = candidate.ResultC,
|
ResultC = candidate.ResultC,
|
||||||
Pass = candidate.Pass,
|
Pass = candidate.Pass,
|
||||||
|
Number = candidate.Number,
|
||||||
AnnouncementDate = exam.AnnouncementDate.AddYears(2),
|
AnnouncementDate = exam.AnnouncementDate.AddYears(2),
|
||||||
Id = candidate.Id,
|
Id = candidate.Id,
|
||||||
};
|
};
|
||||||
|
|
@ -1929,6 +1945,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
PointC = candidate.PointC,
|
PointC = candidate.PointC,
|
||||||
ResultC = candidate.ResultC,
|
ResultC = candidate.ResultC,
|
||||||
Pass = candidate.Pass,
|
Pass = candidate.Pass,
|
||||||
|
Number = candidate.Number,
|
||||||
AnnouncementDate = candidate.PeriodExam?.AnnouncementDate.AddYears(2),
|
AnnouncementDate = candidate.PeriodExam?.AnnouncementDate.AddYears(2),
|
||||||
Id = candidate.Id,
|
Id = candidate.Id,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
65
Services/DisableService.cs
Normal file
65
Services/DisableService.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
|
{
|
||||||
|
public class DisableService
|
||||||
|
{
|
||||||
|
private readonly ApplicationDbContext _context;
|
||||||
|
|
||||||
|
public DisableService(ApplicationDbContext context)
|
||||||
|
{
|
||||||
|
_context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetExamCount(string citizenId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var count = _context.Disables.AsQueryable()
|
||||||
|
.Where(x => x.CitizenId == citizenId)
|
||||||
|
.Count();
|
||||||
|
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetExamAttributeAsync(Guid period, Guid exam)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var payment = await _context.DisablePayments.AsQueryable()
|
||||||
|
.Include(x => x.Disable)
|
||||||
|
.ThenInclude(x => x.PeriodExam)
|
||||||
|
.Where(x => x.Disable.Id == exam)
|
||||||
|
.Where(x => x.Disable.PeriodExam.Id == period)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
return payment != null ? "มีคุณสมบัติ" : "ไม่มีคุณสมบัติ";
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool CheckValidCertificate(DateTime certDate, int nextYear = 5)
|
||||||
|
{
|
||||||
|
var valid = true;
|
||||||
|
if (DateTime.Now.Date > certDate.Date.AddYears(nextYear))
|
||||||
|
valid = false;
|
||||||
|
|
||||||
|
return valid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using BMA.EHR.Extensions;
|
||||||
using BMA.EHR.Recurit.Exam.Service.Core;
|
using BMA.EHR.Recurit.Exam.Service.Core;
|
||||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||||
|
|
@ -52,10 +53,42 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
|
|
||||||
#region " Methods "
|
#region " Methods "
|
||||||
|
|
||||||
|
private string GenerateStatusCandidate(string status)
|
||||||
|
{
|
||||||
|
switch (status.Trim().ToUpper())
|
||||||
|
{
|
||||||
|
case "REGISTER": return "รอยืนยันสมัครสอบ";
|
||||||
|
case "CHECKREGISTER": return "ตรวจสอบข้อมูลสมัครสอบ";
|
||||||
|
case "PAYMENT": return "รอชำระค่าสมัครสอบ";
|
||||||
|
case "REJECTREGISTER": return "ปฏิเสธตรวจสอบข้อมูลสมัคร";
|
||||||
|
case "CHECKPAYMENT": return "ตรวจสอบหลักฐานชำระเงิน";
|
||||||
|
case "REJECTPAYMENT": return "หลักฐานชำระเงินไม่ถูกต้อง";
|
||||||
|
case "CHECKSEAT": return "จัดที่นั่งสอบ";
|
||||||
|
case "CHECKPOINT": return "สรุปคะแนนสอบ";
|
||||||
|
case "DONE": return "สอบคัดเลือกสำเร็จ";
|
||||||
|
case "WAIVER": return "สละสิทธิ์สอบ";
|
||||||
|
default: return status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GenerateStatusOccupation(string status)
|
||||||
|
{
|
||||||
|
switch (status.Trim().ToUpper())
|
||||||
|
{
|
||||||
|
case "OFFICIAL": return "ข้าราชการกรุงเทพมหานคร";
|
||||||
|
case "PERSONNEL": return "บุคลากรกรุงเทพมหานคร";
|
||||||
|
case "OFFICIALSOTHER": return "ข้าราชการประเภทอื่น";
|
||||||
|
case "EMPLOYEE": return "ลูกจ้าง/พนักงานราชการของส่วนราชการอื่น";
|
||||||
|
case "OTHER": return "อื่นๆ";
|
||||||
|
default: return status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<PeriodExamCandidateResponseItem>> GetsAsync(string type, bool showAll = true)
|
public async Task<IEnumerable<PeriodExamCandidateResponseItem>> GetsAsync(string type, bool showAll = true)
|
||||||
{
|
{
|
||||||
return await _context.PeriodExams.AsQueryable()
|
return await _context.PeriodExams.AsQueryable()
|
||||||
.Where(p => p.IsActive)
|
.Where(p => p.IsActive)
|
||||||
|
.Where(p => p.CheckDisability == false)
|
||||||
.Where(p => type.ToUpper() == "ALL" ? (p.AnnouncementExam == true || p.AnnouncementExam == false) : (type.ToUpper() == "EXAM" ? p.AnnouncementExam == true : p.AnnouncementExam == false))
|
.Where(p => type.ToUpper() == "ALL" ? (p.AnnouncementExam == true || p.AnnouncementExam == false) : (type.ToUpper() == "EXAM" ? p.AnnouncementExam == true : p.AnnouncementExam == false))
|
||||||
.OrderByDescending(d => d.CreatedAt)
|
.OrderByDescending(d => d.CreatedAt)
|
||||||
.Select(x => new PeriodExamCandidateResponseItem
|
.Select(x => new PeriodExamCandidateResponseItem
|
||||||
|
|
@ -93,6 +126,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<PeriodExamCandidateResponseItem?> GetsExamAndCandidateAsync(string examId, bool showAll = true)
|
public async Task<PeriodExamCandidateResponseItem?> GetsExamAndCandidateAsync(string examId, bool showAll = true)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.Include(x => x.BankExam)
|
.Include(x => x.BankExam)
|
||||||
.Include(x => x.PeriodExamDocuments)
|
.Include(x => x.PeriodExamDocuments)
|
||||||
|
|
@ -200,6 +234,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<RequestPositionName?> GetsNamePositionAsync(string examId, string positionId)
|
public async Task<RequestPositionName?> GetsNamePositionAsync(string examId, string positionId)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
|
@ -234,7 +269,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
{
|
{
|
||||||
Name = inserted.Name,
|
Name = inserted.Name,
|
||||||
CheckDocument = inserted.CheckDocument,
|
CheckDocument = inserted.CheckDocument,
|
||||||
CheckDisability = inserted.CheckDisability,
|
|
||||||
Round = inserted.Round,
|
Round = inserted.Round,
|
||||||
Year = inserted.Year,
|
Year = inserted.Year,
|
||||||
Fee = inserted.Fee,
|
Fee = inserted.Fee,
|
||||||
|
|
@ -312,6 +346,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UpdateAsync(string examId, RequestPeriodExam updated)
|
public async Task UpdateAsync(string examId, RequestPeriodExam updated)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.BankExam)
|
.Include(x => x.BankExam)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.Include(x => x.Candidate)
|
.Include(x => x.Candidate)
|
||||||
|
|
@ -324,7 +359,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
|
|
||||||
periodExam.Name = updated.Name;
|
periodExam.Name = updated.Name;
|
||||||
periodExam.CheckDocument = updated.CheckDocument;
|
periodExam.CheckDocument = updated.CheckDocument;
|
||||||
periodExam.CheckDisability = updated.CheckDisability;
|
|
||||||
periodExam.Round = updated.Round;
|
periodExam.Round = updated.Round;
|
||||||
periodExam.Year = updated.Year;
|
periodExam.Year = updated.Year;
|
||||||
periodExam.Fee = updated.Fee;
|
periodExam.Fee = updated.Fee;
|
||||||
|
|
@ -462,6 +496,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UpdateDocAsync(string examId, IFormFileCollection files)
|
public async Task UpdateDocAsync(string examId, IFormFileCollection files)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -492,6 +527,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UpdateImgAsync(string examId, IFormFileCollection files)
|
public async Task UpdateImgAsync(string examId, IFormFileCollection files)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -527,6 +563,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task DeleteAsyncDocument(string examId, string documentId)
|
public async Task DeleteAsyncDocument(string examId, string documentId)
|
||||||
{
|
{
|
||||||
var exam = await _context.PeriodExams.AsQueryable()
|
var exam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.PositionExam)
|
.Include(x => x.PositionExam)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
|
@ -539,6 +576,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task DeleteAsync(string examId)
|
public async Task DeleteAsync(string examId)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -551,6 +589,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<IEnumerable<Candidate?>> GetsCandidateByStatusAsync(string examId, string status)
|
public async Task<IEnumerable<Candidate?>> GetsCandidateByStatusAsync(string examId, string status)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -563,6 +602,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
.OrderByDescending(d => d.CreatedAt)
|
.OrderByDescending(d => d.CreatedAt)
|
||||||
.Where(x => x.PeriodExam == periodExam && x.Status != "register" && x.Status != "rejectRegister")
|
.Where(x => x.PeriodExam == periodExam && x.Status != "register" && x.Status != "rejectRegister")
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
if (candidate.Where(x => x.Status == "done").FirstOrDefault() != null)
|
||||||
|
candidate = candidate.OrderBy(x => x.Number).ToList();
|
||||||
var i = 0;
|
var i = 0;
|
||||||
foreach (var item in candidate)
|
foreach (var item in candidate)
|
||||||
{
|
{
|
||||||
|
|
@ -579,6 +620,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
.OrderByDescending(d => d.CreatedAt)
|
.OrderByDescending(d => d.CreatedAt)
|
||||||
.Where(x => x.PeriodExam == periodExam && x.Status == status)
|
.Where(x => x.PeriodExam == periodExam && x.Status == status)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
if (candidate.Where(x => x.Status == "done").FirstOrDefault() != null)
|
||||||
|
candidate = candidate.OrderBy(x => x.Number).ToList();
|
||||||
var i = 0;
|
var i = 0;
|
||||||
foreach (var item in candidate)
|
foreach (var item in candidate)
|
||||||
{
|
{
|
||||||
|
|
@ -782,16 +825,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
{
|
{
|
||||||
list.Add(new RequestImportSeat
|
list.Add(new RequestImportSeat
|
||||||
{
|
{
|
||||||
CitizenId = worksheet.Cells[row, 1].Value != null ? worksheet.Cells[row, 1].Value.ToString() : null,
|
Number = worksheet.Cells[row, 1].Value != null ? worksheet.Cells[row, 1].Value.ToString() : null,
|
||||||
ExamIdenNumber = worksheet.Cells[row, 2].Value != null ? worksheet.Cells[row, 2].Value.ToString() : null,
|
CitizenId = worksheet.Cells[row, 2].Value != null ? worksheet.Cells[row, 2].Value.ToString() : null,
|
||||||
SeatNumber = worksheet.Cells[row, 3].Value != null ? worksheet.Cells[row, 3].Value.ToString() : null,
|
ExamIdenNumber = worksheet.Cells[row, 3].Value != null ? worksheet.Cells[row, 3].Value.ToString() : null,
|
||||||
PointTotalB = worksheet.Cells[row, 4].Value != null ? worksheet.Cells[row, 4].Value.ToString() : null,
|
SeatNumber = worksheet.Cells[row, 4].Value != null ? worksheet.Cells[row, 4].Value.ToString() : null,
|
||||||
PointB = worksheet.Cells[row, 5].Value != null ? worksheet.Cells[row, 5].Value.ToString() : null,
|
PointTotalB = worksheet.Cells[row, 5].Value != null ? worksheet.Cells[row, 5].Value.ToString() : null,
|
||||||
ResultB = worksheet.Cells[row, 6].Value != null ? worksheet.Cells[row, 6].Value.ToString() : null,
|
PointB = worksheet.Cells[row, 6].Value != null ? worksheet.Cells[row, 6].Value.ToString() : null,
|
||||||
PointTotalC = worksheet.Cells[row, 7].Value != null ? worksheet.Cells[row, 7].Value.ToString() : null,
|
ResultB = worksheet.Cells[row, 7].Value != null ? worksheet.Cells[row, 7].Value.ToString() : null,
|
||||||
PointC = worksheet.Cells[row, 8].Value != null ? worksheet.Cells[row, 8].Value.ToString() : null,
|
PointTotalC = worksheet.Cells[row, 8].Value != null ? worksheet.Cells[row, 8].Value.ToString() : null,
|
||||||
ResultC = worksheet.Cells[row, 9].Value != null ? worksheet.Cells[row, 9].Value.ToString() : null,
|
PointC = worksheet.Cells[row, 9].Value != null ? worksheet.Cells[row, 9].Value.ToString() : null,
|
||||||
Pass = worksheet.Cells[row, 10].Value != null ? (worksheet.Cells[row, 10].Value.ToString()) : null,
|
ResultC = worksheet.Cells[row, 10].Value != null ? worksheet.Cells[row, 10].Value.ToString() : null,
|
||||||
|
Pass = worksheet.Cells[row, 11].Value != null ? (worksheet.Cells[row, 11].Value.ToString()) : null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -804,6 +848,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UploadSeatCandidateAsync(string examId, IFormFile excels)
|
public async Task UploadSeatCandidateAsync(string examId, IFormFile excels)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -859,6 +904,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task UploadPointCandidateAsync(string examId, IFormFile excels)
|
public async Task UploadPointCandidateAsync(string examId, IFormFile excels)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -886,6 +932,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
candidate.PointC = item.PointC;
|
candidate.PointC = item.PointC;
|
||||||
candidate.ResultC = item.ResultC;
|
candidate.ResultC = item.ResultC;
|
||||||
candidate.Pass = item.Pass;
|
candidate.Pass = item.Pass;
|
||||||
|
candidate.Number = item.Number;
|
||||||
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||||
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สอบคัดเลือกสำเร็จ";
|
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สอบคัดเลือกสำเร็จ";
|
||||||
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
if (candidate.Email != null) _mailService.SendMailToUser(subject, body, candidate.Email);
|
||||||
|
|
@ -920,6 +967,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<MemoryStream> DownloadCandidateAsync(string examId)
|
public async Task<MemoryStream> DownloadCandidateAsync(string examId)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
if (periodExam == null)
|
if (periodExam == null)
|
||||||
|
|
@ -951,30 +999,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
summarySheet.TabColor = System.Drawing.Color.Black;
|
summarySheet.TabColor = System.Drawing.Color.Black;
|
||||||
// summarySheet.DefaultRowHeight = 17;
|
// summarySheet.DefaultRowHeight = 17;
|
||||||
summarySheet.Row(1).Style.Font.Bold = true;
|
summarySheet.Row(1).Style.Font.Bold = true;
|
||||||
summarySheet.Cells[1, 1].Value = "เลขบัตรประชาชน";
|
summarySheet.Cells[1, 1].Value = "ลำดับที่สอบได้";
|
||||||
summarySheet.Cells[1, 2].Value = "เลขประจำตัวสอบ";
|
summarySheet.Cells[1, 2].Value = "เลขบัตรประชาชน";
|
||||||
summarySheet.Cells[1, 3].Value = "เลขที่นั่งสอบ";
|
summarySheet.Cells[1, 3].Value = "เลขประจำตัวสอบ";
|
||||||
summarySheet.Cells[1, 4].Value = "คะแนนเต็มภาค ข";
|
summarySheet.Cells[1, 4].Value = "เลขที่นั่งสอบ";
|
||||||
summarySheet.Cells[1, 5].Value = "คะแนนภาค ข";
|
summarySheet.Cells[1, 5].Value = "คะแนนเต็มภาค ข";
|
||||||
summarySheet.Cells[1, 6].Value = "ผลสอบภาค ข";
|
summarySheet.Cells[1, 6].Value = "คะแนนภาค ข";
|
||||||
summarySheet.Cells[1, 7].Value = "คะแนนเต็มภาค ค";
|
summarySheet.Cells[1, 7].Value = "ผลสอบภาค ข";
|
||||||
summarySheet.Cells[1, 8].Value = "คะแนนภาค ค";
|
summarySheet.Cells[1, 8].Value = "คะแนนเต็มภาค ค";
|
||||||
summarySheet.Cells[1, 9].Value = "ผลสอบภาค ค";
|
summarySheet.Cells[1, 9].Value = "คะแนนภาค ค";
|
||||||
summarySheet.Cells[1, 10].Value = "ผลการสอบ";
|
summarySheet.Cells[1, 10].Value = "ผลสอบภาค ค";
|
||||||
|
summarySheet.Cells[1, 11].Value = "ผลการสอบ";
|
||||||
int row = 2;
|
int row = 2;
|
||||||
|
|
||||||
foreach (var item in candidates)
|
foreach (var item in candidates)
|
||||||
{
|
{
|
||||||
summarySheet.Cells[row, 1].Value = item.CitizenId;
|
summarySheet.Cells[row, 1].Value = item.Number;
|
||||||
summarySheet.Cells[row, 2].Value = item.ExamIdenNumber;
|
summarySheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
summarySheet.Cells[row, 3].Value = item.SeatNumber;
|
summarySheet.Cells[row, 3].Value = item.ExamIdenNumber;
|
||||||
summarySheet.Cells[row, 4].Value = item.PointTotalB;
|
summarySheet.Cells[row, 4].Value = item.SeatNumber;
|
||||||
summarySheet.Cells[row, 5].Value = item.PointB;
|
summarySheet.Cells[row, 5].Value = item.PointTotalB;
|
||||||
summarySheet.Cells[row, 6].Value = item.ResultB;
|
summarySheet.Cells[row, 6].Value = item.PointB;
|
||||||
summarySheet.Cells[row, 7].Value = item.PointTotalC;
|
summarySheet.Cells[row, 7].Value = item.ResultB;
|
||||||
summarySheet.Cells[row, 8].Value = item.PointC;
|
summarySheet.Cells[row, 8].Value = item.PointTotalC;
|
||||||
summarySheet.Cells[row, 9].Value = item.ResultC;
|
summarySheet.Cells[row, 9].Value = item.PointC;
|
||||||
summarySheet.Cells[row, 10].Value = item.Pass;
|
summarySheet.Cells[row, 10].Value = item.ResultC;
|
||||||
|
summarySheet.Cells[row, 11].Value = item.Pass;
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
summarySheet.Cells[summarySheet.Dimension.Address].AutoFitColumns();
|
summarySheet.Cells[summarySheet.Dimension.Address].AutoFitColumns();
|
||||||
|
|
@ -988,6 +1038,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<PeriodExam> GetsPaymentExamAsync(string examId)
|
public async Task<PeriodExam> GetsPaymentExamAsync(string examId)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.BankExam)
|
.Include(x => x.BankExam)
|
||||||
.Where(x => x.Id == Guid.Parse(examId))
|
.Where(x => x.Id == Guid.Parse(examId))
|
||||||
.Select(x => new PeriodExam
|
.Select(x => new PeriodExam
|
||||||
|
|
@ -1006,6 +1057,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
public async Task<List<DashboardResponseItem>> GetsDashboardPaymentExamAsync(string examId)
|
public async Task<List<DashboardResponseItem>> GetsDashboardPaymentExamAsync(string examId)
|
||||||
{
|
{
|
||||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
.Include(x => x.Candidate)
|
.Include(x => x.Candidate)
|
||||||
.ThenInclude(x => x.PaymentImg)
|
.ThenInclude(x => x.PaymentImg)
|
||||||
.Where(x => x.Id == Guid.Parse(examId))
|
.Where(x => x.Id == Guid.Parse(examId))
|
||||||
|
|
@ -1068,6 +1120,389 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
|
|
||||||
return dashboard;
|
return dashboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<MemoryStream> DownloadCandidateAllAsync(string examId)
|
||||||
|
{
|
||||||
|
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
.Where(x => x.CheckDisability == false)
|
||||||
|
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
if (periodExam == null)
|
||||||
|
throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
// var _candidates = (from c in _context.Candidates
|
||||||
|
// where c.PeriodExam == periodExam
|
||||||
|
// select new
|
||||||
|
// {
|
||||||
|
// Id = c.Id,
|
||||||
|
// Status = c.Status,
|
||||||
|
// CitizenId = c.CitizenId,
|
||||||
|
// FullName = $"{c.PrefixName}{c.FirstName} {c.LastName}",
|
||||||
|
// Nationality = c.Nationality,
|
||||||
|
// DateOfBirth = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.ToThaiShortDate(),
|
||||||
|
// Age = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.CalculateGovAgeStr(0, 0),
|
||||||
|
// RelationshipName = c.RelationshipName,
|
||||||
|
// Telephone = c.Telephone,
|
||||||
|
// MobilePhone = c.MobilePhone,
|
||||||
|
// Email = c.Email,
|
||||||
|
// Knowledge = c.Knowledge,
|
||||||
|
// RegistAddress = c.RegistAddress,
|
||||||
|
// RegistProvinceName = c.RegistProvinceName,
|
||||||
|
// RegistDistrictName = c.RegistDistrictName,
|
||||||
|
// RegistSubDistrictName = c.RegistSubDistrictName,
|
||||||
|
// RegistZipCode = c.RegistZipCode,
|
||||||
|
// CurrentAddress = c.CurrentAddress,
|
||||||
|
// CurrentProvinceName = c.CurrentProvinceName,
|
||||||
|
// CurrentDistrictName = c.CurrentDistrictName,
|
||||||
|
// CurrentSubDistrictName = c.CurrentSubDistrictName,
|
||||||
|
// CurrentZipCode = c.CurrentZipCode,
|
||||||
|
// MarryFullName = $"{c.MarryPrefixName}{c.MarryFirstName} {c.MarryLastName}",
|
||||||
|
// FatherFullName = $"{c.FatherPrefixName}{c.FatherFirstName} {c.FatherLastName}",
|
||||||
|
// MotherFullName = $"{c.MotherPrefixName}{c.MotherFirstName} {c.MotherLastName}",
|
||||||
|
// OccupationType = c.OccupationType,
|
||||||
|
// OccupationPosition = c.OccupationPosition,
|
||||||
|
// OccupationCompany = c.OccupationCompany,
|
||||||
|
// OccupationDepartment = c.OccupationDepartment,
|
||||||
|
// OccupationEmail = c.OccupationEmail,
|
||||||
|
// OccupationTelephone = c.OccupationTelephone,
|
||||||
|
|
||||||
|
|
||||||
|
// Number = c.Number,
|
||||||
|
// ExamIdenNumber = c.ExamIdenNumber,
|
||||||
|
// SeatNumber = c.SeatNumber,
|
||||||
|
// PointTotalB = c.PointTotalB,
|
||||||
|
// PointB = c.PointB,
|
||||||
|
// ResultB = c.ResultB,
|
||||||
|
// PointTotalC = c.PointTotalC,
|
||||||
|
// PointC = c.PointC,
|
||||||
|
// ResultC = c.ResultC,
|
||||||
|
// Pass = c.Pass,
|
||||||
|
// }
|
||||||
|
// ).ToList();
|
||||||
|
|
||||||
|
var candidates = await _context.Candidates
|
||||||
|
.AsQueryable()
|
||||||
|
.OrderBy(x => x.ExamIdenNumber)
|
||||||
|
.Where(x => x.PeriodExam == periodExam)
|
||||||
|
.Select(c => new
|
||||||
|
{
|
||||||
|
Id = c.Id,
|
||||||
|
Status = c.Status,
|
||||||
|
CitizenId = c.CitizenId,
|
||||||
|
FullName = $"{c.PrefixName}{c.FirstName} {c.LastName}",
|
||||||
|
Nationality = c.Nationality,
|
||||||
|
DateOfBirth = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.ToThaiShortDate(),
|
||||||
|
Age = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.CalculateGovAgeStr(0, 0),
|
||||||
|
RelationshipName = c.RelationshipName,
|
||||||
|
Telephone = c.Telephone,
|
||||||
|
MobilePhone = c.MobilePhone,
|
||||||
|
Email = c.Email,
|
||||||
|
Knowledge = c.Knowledge,
|
||||||
|
RegistAddress = c.RegistAddress,
|
||||||
|
RegistProvinceName = c.RegistProvinceName,
|
||||||
|
RegistDistrictName = c.RegistDistrictName,
|
||||||
|
RegistSubDistrictName = c.RegistSubDistrictName,
|
||||||
|
RegistZipCode = c.RegistZipCode,
|
||||||
|
CurrentAddress = c.CurrentAddress,
|
||||||
|
CurrentProvinceName = c.CurrentProvinceName,
|
||||||
|
CurrentDistrictName = c.CurrentDistrictName,
|
||||||
|
CurrentSubDistrictName = c.CurrentSubDistrictName,
|
||||||
|
CurrentZipCode = c.CurrentZipCode,
|
||||||
|
MarryFullName = $"{c.MarryPrefixName}{c.MarryFirstName} {c.MarryLastName}",
|
||||||
|
FatherFullName = $"{c.FatherPrefixName}{c.FatherFirstName} {c.FatherLastName}",
|
||||||
|
MotherFullName = $"{c.MotherPrefixName}{c.MotherFirstName} {c.MotherLastName}",
|
||||||
|
OccupationType = c.OccupationType,
|
||||||
|
OccupationPosition = c.OccupationPosition,
|
||||||
|
OccupationCompany = c.OccupationCompany,
|
||||||
|
OccupationDepartment = c.OccupationDepartment,
|
||||||
|
OccupationEmail = c.OccupationEmail,
|
||||||
|
OccupationTelephone = c.OccupationTelephone,
|
||||||
|
|
||||||
|
|
||||||
|
Number = c.Number,
|
||||||
|
ExamIdenNumber = c.ExamIdenNumber,
|
||||||
|
SeatNumber = c.SeatNumber,
|
||||||
|
PointTotalB = c.PointTotalB,
|
||||||
|
PointB = c.PointB,
|
||||||
|
ResultB = c.ResultB,
|
||||||
|
PointTotalC = c.PointTotalC,
|
||||||
|
PointC = c.PointC,
|
||||||
|
ResultC = c.ResultC,
|
||||||
|
Pass = c.Pass,
|
||||||
|
})
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
var stream = new MemoryStream();
|
||||||
|
using (var package = new ExcelPackage(stream))
|
||||||
|
{
|
||||||
|
var summarySheet = package.Workbook.Worksheets.Add("Candidate");
|
||||||
|
summarySheet.TabColor = System.Drawing.Color.Black;
|
||||||
|
// summarySheet.DefaultRowHeight = 17;
|
||||||
|
summarySheet.Row(1).Style.Font.Bold = true;
|
||||||
|
summarySheet.Cells[1, 1].Value = "สถานะสอบคัดเลือก";
|
||||||
|
summarySheet.Cells[1, 2].Value = "เลขบัตรประชาชน";
|
||||||
|
summarySheet.Cells[1, 3].Value = "ชื่อ-สกุล";
|
||||||
|
summarySheet.Cells[1, 4].Value = "สัญชาติ";
|
||||||
|
summarySheet.Cells[1, 5].Value = "วันเกิด";
|
||||||
|
summarySheet.Cells[1, 6].Value = "อายุ";
|
||||||
|
summarySheet.Cells[1, 7].Value = "สถานภาพ";
|
||||||
|
summarySheet.Cells[1, 8].Value = "โทรศัพท์";
|
||||||
|
summarySheet.Cells[1, 9].Value = "โทรศัพท์มือถือ";
|
||||||
|
summarySheet.Cells[1, 10].Value = "อีเมล";
|
||||||
|
summarySheet.Cells[1, 11].Value = "ความรู้ความสามารถพิเศษ";
|
||||||
|
summarySheet.Cells[1, 12].Value = "ที่อยู่ตามทะเบียนบ้าน";
|
||||||
|
summarySheet.Cells[1, 13].Value = "จังหวัดที่อยู่ตามทะเบียนบ้าน";
|
||||||
|
summarySheet.Cells[1, 14].Value = "เขต/อำเภอที่อยู่ตามทะเบียนบ้าน";
|
||||||
|
summarySheet.Cells[1, 15].Value = "ตำบล/แขวงที่อยู่ตามทะเบียนบ้าน";
|
||||||
|
summarySheet.Cells[1, 16].Value = "รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน";
|
||||||
|
summarySheet.Cells[1, 17].Value = "ที่อยู่ปัจจุบัน";
|
||||||
|
summarySheet.Cells[1, 18].Value = "จังหวัดที่อยู่ปัจจุบัน";
|
||||||
|
summarySheet.Cells[1, 19].Value = "เขต/อำเภอที่อยู่ปัจจุบัน";
|
||||||
|
summarySheet.Cells[1, 20].Value = "ตำบล/แขวงที่อยู่ปัจจุบัน";
|
||||||
|
summarySheet.Cells[1, 21].Value = "รหัสไปรษณีย์ที่อยู่ปัจจุบัน";
|
||||||
|
summarySheet.Cells[1, 22].Value = "คู่สมรส";
|
||||||
|
summarySheet.Cells[1, 23].Value = "บิดา";
|
||||||
|
summarySheet.Cells[1, 24].Value = "มารดา";
|
||||||
|
summarySheet.Cells[1, 25].Value = "อาชีพ";
|
||||||
|
summarySheet.Cells[1, 26].Value = "ตำแหน่ง";
|
||||||
|
summarySheet.Cells[1, 27].Value = "สำนัก/บริษัท";
|
||||||
|
summarySheet.Cells[1, 28].Value = "กอง/ฝ่าย";
|
||||||
|
summarySheet.Cells[1, 29].Value = "อีเมลบริษัท";
|
||||||
|
summarySheet.Cells[1, 30].Value = "โทรศัพท์บริษัท";
|
||||||
|
summarySheet.Cells[1, 31].Value = "วุฒิที่ได้รับ";
|
||||||
|
summarySheet.Cells[1, 32].Value = "สาขา/วิชาเอก";
|
||||||
|
summarySheet.Cells[1, 33].Value = "คะแนนเฉลี่ยตลอดหลักสูตร";
|
||||||
|
summarySheet.Cells[1, 34].Value = "ชื่อสถานศีกษา";
|
||||||
|
summarySheet.Cells[1, 35].Value = "ระยะเวลาเริ่มศึกษา";
|
||||||
|
summarySheet.Cells[1, 36].Value = "ระยะเวลาสิ้นสุดศึกษา";
|
||||||
|
summarySheet.Cells[1, 37].Value = "สถานที่ทำงาน/ฝึกงาน";
|
||||||
|
summarySheet.Cells[1, 38].Value = "ตำแหน่ง/ลักษณะงาน";
|
||||||
|
summarySheet.Cells[1, 39].Value = "เงินเดือนสุดท้านก่อนออก";
|
||||||
|
summarySheet.Cells[1, 40].Value = "ระยะเวลาเริ่มทำงาน/ฝึกงาน";
|
||||||
|
summarySheet.Cells[1, 41].Value = "ระยะเวลาสิ้นสุดทำงาน/ฝึกงาน";
|
||||||
|
summarySheet.Cells[1, 42].Value = "เหตุผลที่ออก";
|
||||||
|
summarySheet.Cells[1, 43].Value = "ลำดับที่สอบได้";
|
||||||
|
summarySheet.Cells[1, 44].Value = "เลขประจำตัวสอบ";
|
||||||
|
summarySheet.Cells[1, 45].Value = "เลขที่นั่งสอบ";
|
||||||
|
summarySheet.Cells[1, 46].Value = "คะแนนเต็มภาค ข";
|
||||||
|
summarySheet.Cells[1, 47].Value = "คะแนนภาค ข";
|
||||||
|
summarySheet.Cells[1, 48].Value = "ผลสอบภาค ข";
|
||||||
|
summarySheet.Cells[1, 49].Value = "คะแนนเต็มภาค ค";
|
||||||
|
summarySheet.Cells[1, 50].Value = "คะแนนภาค ค";
|
||||||
|
summarySheet.Cells[1, 51].Value = "ผลสอบภาค ค";
|
||||||
|
summarySheet.Cells[1, 52].Value = "ผลการสอบ";
|
||||||
|
int row = 2;
|
||||||
|
|
||||||
|
foreach (var item in candidates)
|
||||||
|
{
|
||||||
|
summarySheet.Cells[row, 1].Value = GenerateStatusCandidate(item.Status);
|
||||||
|
summarySheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
summarySheet.Cells[row, 3].Value = item.FullName;
|
||||||
|
summarySheet.Cells[row, 4].Value = item.Nationality;
|
||||||
|
summarySheet.Cells[row, 5].Value = item.DateOfBirth;
|
||||||
|
summarySheet.Cells[row, 6].Value = item.Age;
|
||||||
|
summarySheet.Cells[row, 7].Value = item.RelationshipName;
|
||||||
|
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||||
|
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||||
|
summarySheet.Cells[row, 10].Value = item.Email;
|
||||||
|
summarySheet.Cells[row, 11].Value = item.Knowledge;
|
||||||
|
summarySheet.Cells[row, 12].Value = item.RegistAddress;
|
||||||
|
summarySheet.Cells[row, 13].Value = item.RegistProvinceName;
|
||||||
|
summarySheet.Cells[row, 14].Value = item.RegistDistrictName;
|
||||||
|
summarySheet.Cells[row, 15].Value = item.RegistSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 16].Value = item.RegistZipCode;
|
||||||
|
summarySheet.Cells[row, 17].Value = item.CurrentAddress;
|
||||||
|
summarySheet.Cells[row, 18].Value = item.CurrentProvinceName;
|
||||||
|
summarySheet.Cells[row, 19].Value = item.CurrentDistrictName;
|
||||||
|
summarySheet.Cells[row, 20].Value = item.CurrentSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 21].Value = item.CurrentZipCode;
|
||||||
|
summarySheet.Cells[row, 22].Value = item.MarryFullName;
|
||||||
|
summarySheet.Cells[row, 23].Value = item.FatherFullName;
|
||||||
|
summarySheet.Cells[row, 24].Value = item.MotherFullName;
|
||||||
|
summarySheet.Cells[row, 25].Value = GenerateStatusOccupation(item.OccupationType);
|
||||||
|
summarySheet.Cells[row, 26].Value = item.OccupationPosition;
|
||||||
|
summarySheet.Cells[row, 27].Value = item.OccupationCompany;
|
||||||
|
summarySheet.Cells[row, 28].Value = item.OccupationDepartment;
|
||||||
|
summarySheet.Cells[row, 29].Value = item.OccupationEmail;
|
||||||
|
summarySheet.Cells[row, 30].Value = item.OccupationTelephone;
|
||||||
|
|
||||||
|
summarySheet.Cells[row, 43].Value = item.Number;
|
||||||
|
summarySheet.Cells[row, 44].Value = item.ExamIdenNumber;
|
||||||
|
summarySheet.Cells[row, 45].Value = item.SeatNumber;
|
||||||
|
summarySheet.Cells[row, 46].Value = item.PointTotalB;
|
||||||
|
summarySheet.Cells[row, 47].Value = item.PointB;
|
||||||
|
summarySheet.Cells[row, 48].Value = item.ResultB;
|
||||||
|
summarySheet.Cells[row, 49].Value = item.PointTotalC;
|
||||||
|
summarySheet.Cells[row, 50].Value = item.PointC;
|
||||||
|
summarySheet.Cells[row, 51].Value = item.ResultC;
|
||||||
|
summarySheet.Cells[row, 52].Value = item.Pass;
|
||||||
|
row++;
|
||||||
|
var educations = await _context.Educations
|
||||||
|
.AsQueryable()
|
||||||
|
.OrderBy(x => x.DurationStart)
|
||||||
|
.Where(x => x.Candidate.Id == item.Id)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
foreach (var education in educations)
|
||||||
|
{
|
||||||
|
summarySheet.Cells[row, 1].Value = GenerateStatusCandidate(item.Status);
|
||||||
|
summarySheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
summarySheet.Cells[row, 3].Value = item.FullName;
|
||||||
|
summarySheet.Cells[row, 4].Value = item.Nationality;
|
||||||
|
summarySheet.Cells[row, 5].Value = item.DateOfBirth;
|
||||||
|
summarySheet.Cells[row, 6].Value = item.Age;
|
||||||
|
summarySheet.Cells[row, 7].Value = item.RelationshipName;
|
||||||
|
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||||
|
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||||
|
summarySheet.Cells[row, 10].Value = item.Email;
|
||||||
|
summarySheet.Cells[row, 11].Value = item.Knowledge;
|
||||||
|
summarySheet.Cells[row, 12].Value = item.RegistAddress;
|
||||||
|
summarySheet.Cells[row, 13].Value = item.RegistProvinceName;
|
||||||
|
summarySheet.Cells[row, 14].Value = item.RegistDistrictName;
|
||||||
|
summarySheet.Cells[row, 15].Value = item.RegistSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 16].Value = item.RegistZipCode;
|
||||||
|
summarySheet.Cells[row, 17].Value = item.CurrentAddress;
|
||||||
|
summarySheet.Cells[row, 18].Value = item.CurrentProvinceName;
|
||||||
|
summarySheet.Cells[row, 19].Value = item.CurrentDistrictName;
|
||||||
|
summarySheet.Cells[row, 20].Value = item.CurrentSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 21].Value = item.CurrentZipCode;
|
||||||
|
summarySheet.Cells[row, 22].Value = item.MarryFullName;
|
||||||
|
summarySheet.Cells[row, 23].Value = item.FatherFullName;
|
||||||
|
summarySheet.Cells[row, 24].Value = item.MotherFullName;
|
||||||
|
summarySheet.Cells[row, 25].Value = GenerateStatusOccupation(item.OccupationType);
|
||||||
|
summarySheet.Cells[row, 26].Value = item.OccupationPosition;
|
||||||
|
summarySheet.Cells[row, 27].Value = item.OccupationCompany;
|
||||||
|
summarySheet.Cells[row, 28].Value = item.OccupationDepartment;
|
||||||
|
summarySheet.Cells[row, 29].Value = item.OccupationEmail;
|
||||||
|
summarySheet.Cells[row, 30].Value = item.OccupationTelephone;
|
||||||
|
summarySheet.Cells[row, 31].Value = education.EducationLevelName;
|
||||||
|
summarySheet.Cells[row, 32].Value = education.Major;
|
||||||
|
summarySheet.Cells[row, 33].Value = education.Scores;
|
||||||
|
summarySheet.Cells[row, 34].Value = education.Name;
|
||||||
|
summarySheet.Cells[row, 35].Value = education.DurationStart == null ? "" : education.DurationStart.Date.ToThaiShortDate();
|
||||||
|
summarySheet.Cells[row, 36].Value = education.DurationEnd == null ? "" : education.DurationEnd.Date.ToThaiShortDate();
|
||||||
|
summarySheet.Cells[row, 43].Value = item.Number;
|
||||||
|
summarySheet.Cells[row, 44].Value = item.ExamIdenNumber;
|
||||||
|
summarySheet.Cells[row, 45].Value = item.SeatNumber;
|
||||||
|
summarySheet.Cells[row, 46].Value = item.PointTotalB;
|
||||||
|
summarySheet.Cells[row, 47].Value = item.PointB;
|
||||||
|
summarySheet.Cells[row, 48].Value = item.ResultB;
|
||||||
|
summarySheet.Cells[row, 49].Value = item.PointTotalC;
|
||||||
|
summarySheet.Cells[row, 50].Value = item.PointC;
|
||||||
|
summarySheet.Cells[row, 51].Value = item.ResultC;
|
||||||
|
summarySheet.Cells[row, 52].Value = item.Pass;
|
||||||
|
row++;
|
||||||
|
}
|
||||||
|
var careers = await _context.Careers
|
||||||
|
.AsQueryable()
|
||||||
|
.OrderBy(x => x.DurationStart)
|
||||||
|
.Where(x => x.Candidate.Id == item.Id)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
foreach (var career in careers)
|
||||||
|
{
|
||||||
|
summarySheet.Cells[row, 1].Value = GenerateStatusCandidate(item.Status);
|
||||||
|
summarySheet.Cells[row, 2].Value = item.CitizenId;
|
||||||
|
summarySheet.Cells[row, 3].Value = item.FullName;
|
||||||
|
summarySheet.Cells[row, 4].Value = item.Nationality;
|
||||||
|
summarySheet.Cells[row, 5].Value = item.DateOfBirth;
|
||||||
|
summarySheet.Cells[row, 6].Value = item.Age;
|
||||||
|
summarySheet.Cells[row, 7].Value = item.RelationshipName;
|
||||||
|
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||||
|
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||||
|
summarySheet.Cells[row, 10].Value = item.Email;
|
||||||
|
summarySheet.Cells[row, 11].Value = item.Knowledge;
|
||||||
|
summarySheet.Cells[row, 12].Value = item.RegistAddress;
|
||||||
|
summarySheet.Cells[row, 13].Value = item.RegistProvinceName;
|
||||||
|
summarySheet.Cells[row, 14].Value = item.RegistDistrictName;
|
||||||
|
summarySheet.Cells[row, 15].Value = item.RegistSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 16].Value = item.RegistZipCode;
|
||||||
|
summarySheet.Cells[row, 17].Value = item.CurrentAddress;
|
||||||
|
summarySheet.Cells[row, 18].Value = item.CurrentProvinceName;
|
||||||
|
summarySheet.Cells[row, 19].Value = item.CurrentDistrictName;
|
||||||
|
summarySheet.Cells[row, 20].Value = item.CurrentSubDistrictName;
|
||||||
|
summarySheet.Cells[row, 21].Value = item.CurrentZipCode;
|
||||||
|
summarySheet.Cells[row, 22].Value = item.MarryFullName;
|
||||||
|
summarySheet.Cells[row, 23].Value = item.FatherFullName;
|
||||||
|
summarySheet.Cells[row, 24].Value = item.MotherFullName;
|
||||||
|
summarySheet.Cells[row, 25].Value = GenerateStatusOccupation(item.OccupationType);
|
||||||
|
summarySheet.Cells[row, 26].Value = item.OccupationPosition;
|
||||||
|
summarySheet.Cells[row, 27].Value = item.OccupationCompany;
|
||||||
|
summarySheet.Cells[row, 28].Value = item.OccupationDepartment;
|
||||||
|
summarySheet.Cells[row, 29].Value = item.OccupationEmail;
|
||||||
|
summarySheet.Cells[row, 30].Value = item.OccupationTelephone;
|
||||||
|
summarySheet.Cells[row, 37].Value = career.Name;
|
||||||
|
summarySheet.Cells[row, 38].Value = career.Position;
|
||||||
|
summarySheet.Cells[row, 39].Value = career.Salary;
|
||||||
|
summarySheet.Cells[row, 40].Value = career.DurationStart == null ? "" : career.DurationStart.Date.ToThaiShortDate();
|
||||||
|
summarySheet.Cells[row, 41].Value = career.DurationEnd == null ? "" : career.DurationEnd.Date.ToThaiShortDate();
|
||||||
|
summarySheet.Cells[row, 42].Value = career.Reason;
|
||||||
|
summarySheet.Cells[row, 43].Value = item.Number;
|
||||||
|
summarySheet.Cells[row, 44].Value = item.ExamIdenNumber;
|
||||||
|
summarySheet.Cells[row, 45].Value = item.SeatNumber;
|
||||||
|
summarySheet.Cells[row, 46].Value = item.PointTotalB;
|
||||||
|
summarySheet.Cells[row, 47].Value = item.PointB;
|
||||||
|
summarySheet.Cells[row, 48].Value = item.ResultB;
|
||||||
|
summarySheet.Cells[row, 49].Value = item.PointTotalC;
|
||||||
|
summarySheet.Cells[row, 50].Value = item.PointC;
|
||||||
|
summarySheet.Cells[row, 51].Value = item.ResultC;
|
||||||
|
summarySheet.Cells[row, 52].Value = item.Pass;
|
||||||
|
row++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
summarySheet.Cells[summarySheet.Dimension.Address].AutoFitColumns();
|
||||||
|
package.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
stream.Position = 0;
|
||||||
|
return stream;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public async Task<MemoryStream> GetsDashboardExamAsync(string examId)
|
||||||
|
// {
|
||||||
|
// var periodExam = await _context.PeriodExams.AsQueryable()
|
||||||
|
// .FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||||
|
|
||||||
|
// if (periodExam == null)
|
||||||
|
// throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
// var stream = new MemoryStream();
|
||||||
|
// using (var package = new ExcelPackage(stream))
|
||||||
|
// {
|
||||||
|
// var summarySheet = package.Workbook.Worksheets.Add("Dashboard");
|
||||||
|
// summarySheet.TabColor = System.Drawing.Color.Black;
|
||||||
|
// // summarySheet.DefaultRowHeight = 17;
|
||||||
|
// summarySheet.Row(1).Style.Font.Bold = true;
|
||||||
|
// summarySheet.Cells[1, 1].Value = "จำนวนผู้สมัครคัดเลือกทั้งหมด";
|
||||||
|
// summarySheet.Cells[1, 2].Value = "จำนวนผู้มีสิทธิ์เข้ารับคัดเลือกทั้งหมด";
|
||||||
|
// summarySheet.Cells[1, 3].Value = "จำนวนผู้เข้ารับการคัดเลือกทั้งหมด";
|
||||||
|
// summarySheet.Cells[1, 4].Value = "ผ่านการสอบ";
|
||||||
|
// summarySheet.Cells[1, 5].Value = "ไม่ผ่านการสอบ";
|
||||||
|
// summarySheet.Cells[1, 6].Value = "คะแนนภาค ข";
|
||||||
|
// summarySheet.Cells[1, 7].Value = "ผลสอบภาค ข";
|
||||||
|
// summarySheet.Cells[1, 8].Value = "คะแนนเต็มภาค ค";
|
||||||
|
// summarySheet.Cells[1, 9].Value = "คะแนนภาค ค";
|
||||||
|
// summarySheet.Cells[1, 10].Value = "ผลสอบภาค ค";
|
||||||
|
// summarySheet.Cells[1, 11].Value = "ผลการสอบ";
|
||||||
|
|
||||||
|
// summarySheet.Cells[2, 1].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 2].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 3].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 4].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 5].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 6].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 7].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 8].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 9].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 10].Value = periodExam;
|
||||||
|
// summarySheet.Cells[2, 11].Value = periodExam;
|
||||||
|
// summarySheet.Cells[summarySheet.Dimension.Address].AutoFitColumns();
|
||||||
|
// package.Save();
|
||||||
|
// }
|
||||||
|
|
||||||
|
// stream.Position = 0;
|
||||||
|
// return stream;
|
||||||
|
// }
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -49,6 +49,19 @@
|
||||||
"lib/net7.0/BMA.EHR.Extensions.dll": {}
|
"lib/net7.0/BMA.EHR.Extensions.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"BouncyCastle.NetCore/1.9.0": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/netstandard2.0/BouncyCastle.Crypto.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/BouncyCastle.Crypto.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Elasticsearch.Net/7.17.5": {
|
"Elasticsearch.Net/7.17.5": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -1263,10 +1276,10 @@
|
||||||
"buildTransitive/net6.0/_._": {}
|
"buildTransitive/net6.0/_._": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Configuration.Binder/2.0.0": {
|
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Extensions.Configuration": "2.0.0"
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
|
||||||
},
|
},
|
||||||
"compile": {
|
"compile": {
|
||||||
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {
|
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll": {
|
||||||
|
|
@ -1471,6 +1484,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Http/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Http.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Http.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Microsoft.Extensions.Localization/2.2.0": {
|
"Microsoft.Extensions.Localization/2.2.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -1541,6 +1573,29 @@
|
||||||
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
|
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Configuration/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Binder": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Microsoft.Extensions.ObjectPool/2.2.0": {
|
"Microsoft.Extensions.ObjectPool/2.2.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"compile": {
|
"compile": {
|
||||||
|
|
@ -1574,6 +1629,26 @@
|
||||||
"buildTransitive/net6.0/_._": {}
|
"buildTransitive/net6.0/_._": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Binder": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Microsoft.Extensions.Primitives/7.0.0": {
|
"Microsoft.Extensions.Primitives/7.0.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"compile": {
|
"compile": {
|
||||||
|
|
@ -1875,6 +1950,59 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Sentry/3.30.0": {
|
||||||
|
"type": "package",
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/Sentry.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Sentry.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"buildTransitive/Sentry.targets": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Sentry.AspNetCore/3.30.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Sentry.Extensions.Logging": "3.30.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/Sentry.AspNetCore.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Sentry.AspNetCore.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworkReferences": [
|
||||||
|
"Microsoft.AspNetCore.App"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Sentry.Extensions.Logging/3.30.0": {
|
||||||
|
"type": "package",
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Http": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Configuration": "6.0.0",
|
||||||
|
"Sentry": "3.30.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"lib/net6.0/Sentry.Extensions.Logging.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Sentry.Extensions.Logging.dll": {
|
||||||
|
"related": ".xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"Serilog/2.12.0": {
|
"Serilog/2.12.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"compile": {
|
"compile": {
|
||||||
|
|
@ -3003,6 +3131,21 @@
|
||||||
"lib/net7.0/BMA.EHR.Extensions.dll"
|
"lib/net7.0/BMA.EHR.Extensions.dll"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"BouncyCastle.NetCore/1.9.0": {
|
||||||
|
"sha512": "FpWfsqjMp+RNavLqMlviDPlbdf7q4j/pr9SHfc1LKcZz5PRjciuYo59nFnw+eJi+H8cm0eH5uVZStwAv1LRdCw==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "bouncycastle.netcore/1.9.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"bouncycastle.netcore.1.9.0.nupkg.sha512",
|
||||||
|
"bouncycastle.netcore.nuspec",
|
||||||
|
"lib/net20/BouncyCastle.Crypto.dll",
|
||||||
|
"lib/net20/BouncyCastle.Crypto.xml",
|
||||||
|
"lib/netstandard2.0/BouncyCastle.Crypto.dll",
|
||||||
|
"lib/netstandard2.0/BouncyCastle.Crypto.xml"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Elasticsearch.Net/7.17.5": {
|
"Elasticsearch.Net/7.17.5": {
|
||||||
"sha512": "orChsQi1Ceho/NyIylNOn6y4vuGcsbCfMZnCueNN0fzqYEGQmQdPfcVmsR5+3fwpXTgxCdjTUVmqOwvHpCSB+Q==",
|
"sha512": "orChsQi1Ceho/NyIylNOn6y4vuGcsbCfMZnCueNN0fzqYEGQmQdPfcVmsR5+3fwpXTgxCdjTUVmqOwvHpCSB+Q==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|
@ -4466,17 +4609,23 @@
|
||||||
"useSharedDesignerContext.txt"
|
"useSharedDesignerContext.txt"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Configuration.Binder/2.0.0": {
|
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||||
"sha512": "IznHHzGUtrdpuQqIUdmzF6TYPcsYHONhHh3o9dGp39sX/9Zfmt476UnhvU0UhXgJnXXAikt/MpN6AuSLCCMdEQ==",
|
"sha512": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"path": "microsoft.extensions.configuration.binder/2.0.0",
|
"path": "microsoft.extensions.configuration.binder/6.0.0",
|
||||||
"files": [
|
"files": [
|
||||||
".nupkg.metadata",
|
".nupkg.metadata",
|
||||||
".signature.p7s",
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/net461/Microsoft.Extensions.Configuration.Binder.dll",
|
||||||
|
"lib/net461/Microsoft.Extensions.Configuration.Binder.xml",
|
||||||
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
|
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
|
||||||
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
|
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
|
||||||
"microsoft.extensions.configuration.binder.2.0.0.nupkg.sha512",
|
"microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512",
|
||||||
"microsoft.extensions.configuration.binder.nuspec"
|
"microsoft.extensions.configuration.binder.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Microsoft.Extensions.Configuration.FileExtensions/7.0.0": {
|
"Microsoft.Extensions.Configuration.FileExtensions/7.0.0": {
|
||||||
|
|
@ -4731,6 +4880,25 @@
|
||||||
"microsoft.extensions.hosting.abstractions.nuspec"
|
"microsoft.extensions.hosting.abstractions.nuspec"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Http/6.0.0": {
|
||||||
|
"sha512": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "microsoft.extensions.http/6.0.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/net461/Microsoft.Extensions.Http.dll",
|
||||||
|
"lib/net461/Microsoft.Extensions.Http.xml",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Http.dll",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Http.xml",
|
||||||
|
"microsoft.extensions.http.6.0.0.nupkg.sha512",
|
||||||
|
"microsoft.extensions.http.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Microsoft.Extensions.Localization/2.2.0": {
|
"Microsoft.Extensions.Localization/2.2.0": {
|
||||||
"sha512": "3nBQLeBrcd4Rgd9vQi4gF5NgAWxnQrHekjjwlgww4wyLNfJDizjiex2resOLoAuAgy3y2IIAWjOpbr0UKR2ykw==",
|
"sha512": "3nBQLeBrcd4Rgd9vQi4gF5NgAWxnQrHekjjwlgww4wyLNfJDizjiex2resOLoAuAgy3y2IIAWjOpbr0UKR2ykw==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|
@ -4856,6 +5024,25 @@
|
||||||
"useSharedDesignerContext.txt"
|
"useSharedDesignerContext.txt"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Configuration/6.0.0": {
|
||||||
|
"sha512": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "microsoft.extensions.logging.configuration/6.0.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/net461/Microsoft.Extensions.Logging.Configuration.dll",
|
||||||
|
"lib/net461/Microsoft.Extensions.Logging.Configuration.xml",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml",
|
||||||
|
"microsoft.extensions.logging.configuration.6.0.0.nupkg.sha512",
|
||||||
|
"microsoft.extensions.logging.configuration.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Microsoft.Extensions.ObjectPool/2.2.0": {
|
"Microsoft.Extensions.ObjectPool/2.2.0": {
|
||||||
"sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==",
|
"sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|
@ -4898,6 +5085,25 @@
|
||||||
"useSharedDesignerContext.txt"
|
"useSharedDesignerContext.txt"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": {
|
||||||
|
"sha512": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "microsoft.extensions.options.configurationextensions/6.0.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"Icon.png",
|
||||||
|
"LICENSE.TXT",
|
||||||
|
"THIRD-PARTY-NOTICES.TXT",
|
||||||
|
"lib/net461/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
|
||||||
|
"lib/net461/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll",
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml",
|
||||||
|
"microsoft.extensions.options.configurationextensions.6.0.0.nupkg.sha512",
|
||||||
|
"microsoft.extensions.options.configurationextensions.nuspec",
|
||||||
|
"useSharedDesignerContext.txt"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Microsoft.Extensions.Primitives/7.0.0": {
|
"Microsoft.Extensions.Primitives/7.0.0": {
|
||||||
"sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
|
"sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|
@ -5370,6 +5576,89 @@
|
||||||
"pomelo.entityframeworkcore.mysql.nuspec"
|
"pomelo.entityframeworkcore.mysql.nuspec"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"Sentry/3.30.0": {
|
||||||
|
"sha512": "BfhnWf/NbMW+6RVrNZ8bH40YG6QSb01Dt50/BbPIb0W23Wya0tb8QSyX2990nU3DIqrhxqENajgBNDEo868CNw==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "sentry/3.30.0",
|
||||||
|
"hasTools": true,
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"README.md",
|
||||||
|
"build/Sentry.targets",
|
||||||
|
"buildTransitive/Sentry.targets",
|
||||||
|
"lib/net461/Sentry.dll",
|
||||||
|
"lib/net461/Sentry.xml",
|
||||||
|
"lib/net5.0/Sentry.dll",
|
||||||
|
"lib/net5.0/Sentry.xml",
|
||||||
|
"lib/net6.0-android31.0/Sentry.dll",
|
||||||
|
"lib/net6.0-android31.0/Sentry.xml",
|
||||||
|
"lib/net6.0-ios16.1/Sentry.dll",
|
||||||
|
"lib/net6.0-ios16.1/Sentry.xml",
|
||||||
|
"lib/net6.0-maccatalyst16.1/Sentry.dll",
|
||||||
|
"lib/net6.0-maccatalyst16.1/Sentry.xml",
|
||||||
|
"lib/net6.0/Sentry.dll",
|
||||||
|
"lib/net6.0/Sentry.xml",
|
||||||
|
"lib/netcoreapp3.0/Sentry.dll",
|
||||||
|
"lib/netcoreapp3.0/Sentry.xml",
|
||||||
|
"lib/netstandard2.0/Sentry.dll",
|
||||||
|
"lib/netstandard2.0/Sentry.xml",
|
||||||
|
"lib/netstandard2.1/Sentry.dll",
|
||||||
|
"lib/netstandard2.1/Sentry.xml",
|
||||||
|
"sentry-nuget.png",
|
||||||
|
"sentry.3.30.0.nupkg.sha512",
|
||||||
|
"sentry.nuspec",
|
||||||
|
"tools/sentry-cli-Darwin-arm64",
|
||||||
|
"tools/sentry-cli-Darwin-x86_64",
|
||||||
|
"tools/sentry-cli-Linux-aarch64",
|
||||||
|
"tools/sentry-cli-Linux-i686",
|
||||||
|
"tools/sentry-cli-Linux-x86_64",
|
||||||
|
"tools/sentry-cli-Windows-i686.exe",
|
||||||
|
"tools/sentry-cli-Windows-x86_64.exe"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Sentry.AspNetCore/3.30.0": {
|
||||||
|
"sha512": "EpXvQQ6UbOQkyOwL0TNjXBBO0sK+XRETf8Oq6EdtmXdQuTfaLC48kqSXk3pxugBCqIxU/kT7fXd12rPkFG9EMA==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "sentry.aspnetcore/3.30.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"README.md",
|
||||||
|
"lib/net5.0/Sentry.AspNetCore.dll",
|
||||||
|
"lib/net5.0/Sentry.AspNetCore.xml",
|
||||||
|
"lib/net6.0/Sentry.AspNetCore.dll",
|
||||||
|
"lib/net6.0/Sentry.AspNetCore.xml",
|
||||||
|
"lib/netcoreapp3.0/Sentry.AspNetCore.dll",
|
||||||
|
"lib/netcoreapp3.0/Sentry.AspNetCore.xml",
|
||||||
|
"lib/netstandard2.0/Sentry.AspNetCore.dll",
|
||||||
|
"lib/netstandard2.0/Sentry.AspNetCore.xml",
|
||||||
|
"sentry-nuget.png",
|
||||||
|
"sentry.aspnetcore.3.30.0.nupkg.sha512",
|
||||||
|
"sentry.aspnetcore.nuspec"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Sentry.Extensions.Logging/3.30.0": {
|
||||||
|
"sha512": "tykAR21+TvzGT4/YnWB3HDKFQ0Vv+/9t//r/QDCyWN/9lzDseShXsK98Th66l/b4b1wOdYgDRfH3Dj0b6RikhQ==",
|
||||||
|
"type": "package",
|
||||||
|
"path": "sentry.extensions.logging/3.30.0",
|
||||||
|
"files": [
|
||||||
|
".nupkg.metadata",
|
||||||
|
".signature.p7s",
|
||||||
|
"README.md",
|
||||||
|
"lib/net5.0/Sentry.Extensions.Logging.dll",
|
||||||
|
"lib/net5.0/Sentry.Extensions.Logging.xml",
|
||||||
|
"lib/net6.0/Sentry.Extensions.Logging.dll",
|
||||||
|
"lib/net6.0/Sentry.Extensions.Logging.xml",
|
||||||
|
"lib/netcoreapp3.0/Sentry.Extensions.Logging.dll",
|
||||||
|
"lib/netcoreapp3.0/Sentry.Extensions.Logging.xml",
|
||||||
|
"lib/netstandard2.0/Sentry.Extensions.Logging.dll",
|
||||||
|
"lib/netstandard2.0/Sentry.Extensions.Logging.xml",
|
||||||
|
"sentry-nuget.png",
|
||||||
|
"sentry.extensions.logging.3.30.0.nupkg.sha512",
|
||||||
|
"sentry.extensions.logging.nuspec"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Serilog/2.12.0": {
|
"Serilog/2.12.0": {
|
||||||
"sha512": "xaiJLIdu6rYMKfQMYUZgTy8YK7SMZjB4Yk50C/u//Z4OsvxkUfSPJy4nknfvwAC34yr13q7kcyh4grbwhSxyZg==",
|
"sha512": "xaiJLIdu6rYMKfQMYUZgTy8YK7SMZjB4Yk50C/u//Z4OsvxkUfSPJy4nknfvwAC34yr13q7kcyh4grbwhSxyZg==",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|
@ -8112,6 +8401,7 @@
|
||||||
"AWSSDK.S3 >= 3.7.103.39",
|
"AWSSDK.S3 >= 3.7.103.39",
|
||||||
"BMA.EHR.Core >= 1.0.0",
|
"BMA.EHR.Core >= 1.0.0",
|
||||||
"BMA.EHR.Extensions >= 1.0.1",
|
"BMA.EHR.Extensions >= 1.0.1",
|
||||||
|
"BouncyCastle.NetCore >= 1.9.0",
|
||||||
"EPPlus >= 6.1.3",
|
"EPPlus >= 6.1.3",
|
||||||
"EPPlus.Interfaces >= 6.1.1",
|
"EPPlus.Interfaces >= 6.1.1",
|
||||||
"EPPlus.System.Drawing >= 6.1.1",
|
"EPPlus.System.Drawing >= 6.1.1",
|
||||||
|
|
@ -8138,6 +8428,7 @@
|
||||||
"Microsoft.EntityFrameworkCore.Tools >= 7.0.4",
|
"Microsoft.EntityFrameworkCore.Tools >= 7.0.4",
|
||||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.17.0",
|
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.17.0",
|
||||||
"Pomelo.EntityFrameworkCore.MySql >= 7.0.0",
|
"Pomelo.EntityFrameworkCore.MySql >= 7.0.0",
|
||||||
|
"Sentry.AspNetCore >= 3.30.0",
|
||||||
"Serilog >= 2.12.0",
|
"Serilog >= 2.12.0",
|
||||||
"Serilog.AspNetCore >= 6.1.0",
|
"Serilog.AspNetCore >= 6.1.0",
|
||||||
"Serilog.Enrichers.Environment >= 2.2.0",
|
"Serilog.Enrichers.Environment >= 2.2.0",
|
||||||
|
|
@ -8222,6 +8513,10 @@
|
||||||
"target": "Package",
|
"target": "Package",
|
||||||
"version": "[1.0.1, )"
|
"version": "[1.0.1, )"
|
||||||
},
|
},
|
||||||
|
"BouncyCastle.NetCore": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[1.9.0, )"
|
||||||
|
},
|
||||||
"EPPlus": {
|
"EPPlus": {
|
||||||
"target": "Package",
|
"target": "Package",
|
||||||
"version": "[6.1.3, )"
|
"version": "[6.1.3, )"
|
||||||
|
|
@ -8328,6 +8623,10 @@
|
||||||
"target": "Package",
|
"target": "Package",
|
||||||
"version": "[7.0.0, )"
|
"version": "[7.0.0, )"
|
||||||
},
|
},
|
||||||
|
"Sentry.AspNetCore": {
|
||||||
|
"target": "Package",
|
||||||
|
"version": "[3.30.0, )"
|
||||||
|
},
|
||||||
"Serilog": {
|
"Serilog": {
|
||||||
"target": "Package",
|
"target": "Package",
|
||||||
"version": "[2.12.0, )"
|
"version": "[2.12.0, )"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": 2,
|
"version": 2,
|
||||||
"dgSpecHash": "UamAJ+luCR5BwXfEV/O5TWqxblwcXJsT9e9lSupRwpSjVNNTPJ+/XkVZ/YNA1yBoG23TF1II8FLxdnStLW+fkA==",
|
"dgSpecHash": "pGFU0xfNi4nLi0e2b+i6DR2wgiyob2yQxLxlDzkcCpOCdw+C03VAunyli3b7rozwKJ3GhD7nJifxVqr+m+OBHw==",
|
||||||
"success": true,
|
"success": true,
|
||||||
"projectFilePath": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
"projectFilePath": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
||||||
"expectedPackageFiles": [
|
"expectedPackageFiles": [
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
"C:\\Users\\M\\.nuget\\packages\\awssdk.s3\\3.7.103.39\\awssdk.s3.3.7.103.39.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\awssdk.s3\\3.7.103.39\\awssdk.s3.3.7.103.39.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\bma.ehr.core\\1.0.0\\bma.ehr.core.1.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\bma.ehr.core\\1.0.0\\bma.ehr.core.1.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\bma.ehr.extensions\\1.0.1\\bma.ehr.extensions.1.0.1.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\bma.ehr.extensions\\1.0.1\\bma.ehr.extensions.1.0.1.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\bouncycastle.netcore\\1.9.0\\bouncycastle.netcore.1.9.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\elasticsearch.net\\7.17.5\\elasticsearch.net.7.17.5.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\elasticsearch.net\\7.17.5\\elasticsearch.net.7.17.5.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\epplus\\6.1.3\\epplus.6.1.3.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\epplus\\6.1.3\\epplus.6.1.3.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\epplus.interfaces\\6.1.1\\epplus.interfaces.6.1.1.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\epplus.interfaces\\6.1.1\\epplus.interfaces.6.1.1.nupkg.sha512",
|
||||||
|
|
@ -75,7 +76,7 @@
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration\\7.0.0\\microsoft.extensions.configuration.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration\\7.0.0\\microsoft.extensions.configuration.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.binder\\2.0.0\\microsoft.extensions.configuration.binder.2.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.binder\\6.0.0\\microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\7.0.0\\microsoft.extensions.configuration.fileextensions.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\7.0.0\\microsoft.extensions.configuration.fileextensions.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.json\\7.0.0\\microsoft.extensions.configuration.json.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.configuration.json\\7.0.0\\microsoft.extensions.configuration.json.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\7.0.0\\microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\7.0.0\\microsoft.extensions.dependencyinjection.7.0.0.nupkg.sha512",
|
||||||
|
|
@ -86,12 +87,15 @@
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\7.0.0\\microsoft.extensions.fileproviders.physical.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\7.0.0\\microsoft.extensions.fileproviders.physical.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\7.0.0\\microsoft.extensions.filesystemglobbing.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\7.0.0\\microsoft.extensions.filesystemglobbing.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.8\\microsoft.extensions.hosting.abstractions.3.1.8.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.8\\microsoft.extensions.hosting.abstractions.3.1.8.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.http\\6.0.0\\microsoft.extensions.http.6.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.localization\\2.2.0\\microsoft.extensions.localization.2.2.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.localization\\2.2.0\\microsoft.extensions.localization.2.2.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\2.2.0\\microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\2.2.0\\microsoft.extensions.localization.abstractions.2.2.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.logging\\7.0.0\\microsoft.extensions.logging.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.logging\\7.0.0\\microsoft.extensions.logging.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.logging.configuration\\6.0.0\\microsoft.extensions.logging.configuration.6.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\6.0.0\\microsoft.extensions.options.configurationextensions.6.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.primitives\\7.0.0\\microsoft.extensions.primitives.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.primitives\\7.0.0\\microsoft.extensions.primitives.7.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.webencoders\\2.2.0\\microsoft.extensions.webencoders.2.2.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.extensions.webencoders\\2.2.0\\microsoft.extensions.webencoders.2.2.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.15.1\\microsoft.identitymodel.jsonwebtokens.6.15.1.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.15.1\\microsoft.identitymodel.jsonwebtokens.6.15.1.nupkg.sha512",
|
||||||
|
|
@ -112,6 +116,9 @@
|
||||||
"C:\\Users\\M\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\7.0.0\\pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\7.0.0\\pomelo.entityframeworkcore.mysql.7.0.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\sentry\\3.30.0\\sentry.3.30.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\sentry.aspnetcore\\3.30.0\\sentry.aspnetcore.3.30.0.nupkg.sha512",
|
||||||
|
"C:\\Users\\M\\.nuget\\packages\\sentry.extensions.logging\\3.30.0\\sentry.extensions.logging.3.30.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\serilog\\2.12.0\\serilog.2.12.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\serilog\\2.12.0\\serilog.2.12.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\serilog.aspnetcore\\6.1.0\\serilog.aspnetcore.6.1.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\serilog.aspnetcore\\6.1.0\\serilog.aspnetcore.6.1.0.nupkg.sha512",
|
||||||
"C:\\Users\\M\\.nuget\\packages\\serilog.enrichers.environment\\2.2.0\\serilog.enrichers.environment.2.2.0.nupkg.sha512",
|
"C:\\Users\\M\\.nuget\\packages\\serilog.enrichers.environment\\2.2.0\\serilog.enrichers.environment.2.2.0.nupkg.sha512",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue