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="BMA.EHR.Core" Version="1.0.0" />
|
||||
<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.Interfaces" Version="6.1.1" />
|
||||
<PackageReference Include="EPPlus.System.Drawing" Version="6.1.1" />
|
||||
|
|
@ -55,6 +56,7 @@
|
|||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.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.AspNetCore" Version="6.1.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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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>
|
||||
/// ข้อมูลตำแหน่งสมัครสอบ
|
||||
/// <param name="examId">รหัสรอบสมัคร</param>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
public class GlobalMessages
|
||||
{
|
||||
public const string Success = "Success";
|
||||
public const string DataNotFound = "ไม่พบข้อมูลในระบบ";
|
||||
public const string FileNotFoundOnServer = "ไม่พบไฟล์ในระบบ!!";
|
||||
public const string CannotInsertToDatabase = "ไม่สามารถบันทึกลงฐานข้อมูลได้!!";
|
||||
public const string InvalidRequestParam = "Request parameter ไม่ถูกต้อง!!";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
|
|
@ -13,6 +14,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
|
|||
|
||||
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; }
|
||||
|
|
@ -55,5 +63,25 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
|
|||
|
||||
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 หลักฐานชำระเงิน")]
|
||||
public virtual Document? PaymentImg { get; set; }
|
||||
|
||||
[Comment("ลำดับที่สอบได้")]
|
||||
public string? Number { get; set; }
|
||||
|
||||
|
||||
[Comment("Id คำนำหน้าชื่อ")]
|
||||
|
|
@ -69,10 +71,10 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[MaxLength(40), Comment("วันเกิด")]
|
||||
public DateTime? DateOfBirth { get; set; }
|
||||
|
||||
[Comment("Id ศาสนา")]
|
||||
[Comment("Id สถานภาพ")]
|
||||
public Guid? RelationshipId { get; set; }
|
||||
|
||||
[Comment("ศาสนา")]
|
||||
[Comment("สถานภาพ")]
|
||||
public string? RelationshipName { get; set; }
|
||||
|
||||
[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 System.ComponentModel.DataAnnotations.Schema;
|
||||
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
|
||||
{
|
||||
|
|
@ -95,5 +97,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
|
||||
[Comment("รูป")]
|
||||
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
|
||||
builder.Services.AddTransient<CandidateService>();
|
||||
builder.Services.AddTransient<DisableService>();
|
||||
builder.Services.AddTransient<PeriodExamService>();
|
||||
builder.Services.AddTransient<MinIOService>();
|
||||
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? ResultC { get; set; }
|
||||
public string? Pass { get; set; }
|
||||
public string? Number { get; set; }
|
||||
public DateTime? AnnouncementDate { 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? ResultC { 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 bool CheckDocument { get; set; } = false;
|
||||
public bool CheckDisability { get; set; } = false;
|
||||
// public bool CheckDisability { get; set; } = false;
|
||||
public int? Round { get; set; }
|
||||
public int? Year { get; set; }
|
||||
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)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -133,6 +134,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<CandidateAddressResponseItem?> GetsAsyncAddress(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -201,6 +203,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<CandidateFamilyResponseItem?> GetsAsyncFamily(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -273,6 +276,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<CandidateOccupationResponseItem?> GetsAsyncOccupation(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -319,6 +323,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<IEnumerable<Career?>> GetsAsyncCareer(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -351,6 +356,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<IEnumerable<Education?>> GetsAsyncEducation(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -383,6 +389,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<IEnumerable<FileListResponse?>> GetsAsyncFileUpload(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -465,6 +472,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<string> GetsAsyncProfileImage(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -516,6 +524,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<PaymentImgResponse> GetsAsyncPaymentImg(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -568,6 +577,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<RequestStatusRegistry> GetsAsyncRegisterExam(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.Include(x => x.BankExam)
|
||||
.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)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -1426,6 +1437,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task DeleteAsyncDocument(string examId, string positionId, string documentId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.Include(x => x.PositionExam)
|
||||
.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)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -1680,6 +1693,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UserCheckCandidateService(string examId, string positionId, string status)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.Include(x => x.PositionExam)
|
||||
.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)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (exam == null)
|
||||
|
|
@ -1898,6 +1913,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
PointC = candidate.PointC,
|
||||
ResultC = candidate.ResultC,
|
||||
Pass = candidate.Pass,
|
||||
Number = candidate.Number,
|
||||
AnnouncementDate = exam.AnnouncementDate.AddYears(2),
|
||||
Id = candidate.Id,
|
||||
};
|
||||
|
|
@ -1929,6 +1945,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
PointC = candidate.PointC,
|
||||
ResultC = candidate.ResultC,
|
||||
Pass = candidate.Pass,
|
||||
Number = candidate.Number,
|
||||
AnnouncementDate = candidate.PeriodExam?.AnnouncementDate.AddYears(2),
|
||||
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.Text.Json;
|
||||
using BMA.EHR.Extensions;
|
||||
using BMA.EHR.Recurit.Exam.Service.Core;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
|
|
@ -52,10 +53,42 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
|
||||
#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)
|
||||
{
|
||||
return await _context.PeriodExams.AsQueryable()
|
||||
.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))
|
||||
.OrderByDescending(d => d.CreatedAt)
|
||||
.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)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.PositionExam)
|
||||
.Include(x => x.BankExam)
|
||||
.Include(x => x.PeriodExamDocuments)
|
||||
|
|
@ -200,6 +234,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<RequestPositionName?> GetsNamePositionAsync(string examId, string positionId)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.PositionExam)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
|
|
@ -234,7 +269,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
Name = inserted.Name,
|
||||
CheckDocument = inserted.CheckDocument,
|
||||
CheckDisability = inserted.CheckDisability,
|
||||
Round = inserted.Round,
|
||||
Year = inserted.Year,
|
||||
Fee = inserted.Fee,
|
||||
|
|
@ -312,6 +346,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UpdateAsync(string examId, RequestPeriodExam updated)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.BankExam)
|
||||
.Include(x => x.PositionExam)
|
||||
.Include(x => x.Candidate)
|
||||
|
|
@ -324,7 +359,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
|
||||
periodExam.Name = updated.Name;
|
||||
periodExam.CheckDocument = updated.CheckDocument;
|
||||
periodExam.CheckDisability = updated.CheckDisability;
|
||||
periodExam.Round = updated.Round;
|
||||
periodExam.Year = updated.Year;
|
||||
periodExam.Fee = updated.Fee;
|
||||
|
|
@ -462,6 +496,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UpdateDocAsync(string examId, IFormFileCollection files)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -492,6 +527,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UpdateImgAsync(string examId, IFormFileCollection files)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -527,6 +563,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task DeleteAsyncDocument(string examId, string documentId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.PositionExam)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
|
|
@ -539,6 +576,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task DeleteAsync(string examId)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -551,6 +589,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<IEnumerable<Candidate?>> GetsCandidateByStatusAsync(string examId, string status)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -563,6 +602,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.OrderByDescending(d => d.CreatedAt)
|
||||
.Where(x => x.PeriodExam == periodExam && x.Status != "register" && x.Status != "rejectRegister")
|
||||
.ToListAsync();
|
||||
if (candidate.Where(x => x.Status == "done").FirstOrDefault() != null)
|
||||
candidate = candidate.OrderBy(x => x.Number).ToList();
|
||||
var i = 0;
|
||||
foreach (var item in candidate)
|
||||
{
|
||||
|
|
@ -579,6 +620,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.OrderByDescending(d => d.CreatedAt)
|
||||
.Where(x => x.PeriodExam == periodExam && x.Status == status)
|
||||
.ToListAsync();
|
||||
if (candidate.Where(x => x.Status == "done").FirstOrDefault() != null)
|
||||
candidate = candidate.OrderBy(x => x.Number).ToList();
|
||||
var i = 0;
|
||||
foreach (var item in candidate)
|
||||
{
|
||||
|
|
@ -782,16 +825,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
list.Add(new RequestImportSeat
|
||||
{
|
||||
CitizenId = 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,
|
||||
SeatNumber = 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,
|
||||
PointB = 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,
|
||||
PointTotalC = 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,
|
||||
ResultC = 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,
|
||||
Number = worksheet.Cells[row, 1].Value != null ? worksheet.Cells[row, 1].Value.ToString() : null,
|
||||
CitizenId = worksheet.Cells[row, 2].Value != null ? worksheet.Cells[row, 2].Value.ToString() : null,
|
||||
ExamIdenNumber = worksheet.Cells[row, 3].Value != null ? worksheet.Cells[row, 3].Value.ToString() : null,
|
||||
SeatNumber = worksheet.Cells[row, 4].Value != null ? worksheet.Cells[row, 4].Value.ToString() : null,
|
||||
PointTotalB = worksheet.Cells[row, 5].Value != null ? worksheet.Cells[row, 5].Value.ToString() : null,
|
||||
PointB = worksheet.Cells[row, 6].Value != null ? worksheet.Cells[row, 6].Value.ToString() : null,
|
||||
ResultB = worksheet.Cells[row, 7].Value != null ? worksheet.Cells[row, 7].Value.ToString() : null,
|
||||
PointTotalC = worksheet.Cells[row, 8].Value != null ? worksheet.Cells[row, 8].Value.ToString() : null,
|
||||
PointC = worksheet.Cells[row, 9].Value != null ? worksheet.Cells[row, 9].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)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -859,6 +904,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UploadPointCandidateAsync(string examId, IFormFile excels)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -886,6 +932,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.PointC = item.PointC;
|
||||
candidate.ResultC = item.ResultC;
|
||||
candidate.Pass = item.Pass;
|
||||
candidate.Number = item.Number;
|
||||
var subject = "แจ้งผลการสมัครสอบคัดเลือก " + periodExam.Name;
|
||||
var body = candidate.FirstName + " " + candidate.LastName + " สถานะการสมัครสอบ: สอบคัดเลือกสำเร็จ";
|
||||
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)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
|
||||
if (periodExam == null)
|
||||
|
|
@ -951,30 +999,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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, 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 = "ผลการสอบ";
|
||||
int row = 2;
|
||||
|
||||
foreach (var item in candidates)
|
||||
{
|
||||
summarySheet.Cells[row, 1].Value = item.CitizenId;
|
||||
summarySheet.Cells[row, 2].Value = item.ExamIdenNumber;
|
||||
summarySheet.Cells[row, 3].Value = item.SeatNumber;
|
||||
summarySheet.Cells[row, 4].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 5].Value = item.PointB;
|
||||
summarySheet.Cells[row, 6].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 7].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 8].Value = item.PointC;
|
||||
summarySheet.Cells[row, 9].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 10].Value = item.Pass;
|
||||
summarySheet.Cells[row, 1].Value = item.Number;
|
||||
summarySheet.Cells[row, 2].Value = item.CitizenId;
|
||||
summarySheet.Cells[row, 3].Value = item.ExamIdenNumber;
|
||||
summarySheet.Cells[row, 4].Value = item.SeatNumber;
|
||||
summarySheet.Cells[row, 5].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 6].Value = item.PointB;
|
||||
summarySheet.Cells[row, 7].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 8].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 9].Value = item.PointC;
|
||||
summarySheet.Cells[row, 10].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 11].Value = item.Pass;
|
||||
row++;
|
||||
}
|
||||
summarySheet.Cells[summarySheet.Dimension.Address].AutoFitColumns();
|
||||
|
|
@ -988,6 +1038,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<PeriodExam> GetsPaymentExamAsync(string examId)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.BankExam)
|
||||
.Where(x => x.Id == Guid.Parse(examId))
|
||||
.Select(x => new PeriodExam
|
||||
|
|
@ -1006,6 +1057,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task<List<DashboardResponseItem>> GetsDashboardPaymentExamAsync(string examId)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(x => x.CheckDisability == false)
|
||||
.Include(x => x.Candidate)
|
||||
.ThenInclude(x => x.PaymentImg)
|
||||
.Where(x => x.Id == Guid.Parse(examId))
|
||||
|
|
@ -1068,6 +1120,389 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -49,6 +49,19 @@
|
|||
"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": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
|
|
@ -1263,10 +1276,10 @@
|
|||
"buildTransitive/net6.0/_._": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Binder/2.0.0": {
|
||||
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Configuration": "2.0.0"
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"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": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
|
|
@ -1541,6 +1573,29 @@
|
|||
"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": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
|
|
@ -1574,6 +1629,26 @@
|
|||
"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": {
|
||||
"type": "package",
|
||||
"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": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
|
|
@ -3003,6 +3131,21 @@
|
|||
"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": {
|
||||
"sha512": "orChsQi1Ceho/NyIylNOn6y4vuGcsbCfMZnCueNN0fzqYEGQmQdPfcVmsR5+3fwpXTgxCdjTUVmqOwvHpCSB+Q==",
|
||||
"type": "package",
|
||||
|
|
@ -4466,17 +4609,23 @@
|
|||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Binder/2.0.0": {
|
||||
"sha512": "IznHHzGUtrdpuQqIUdmzF6TYPcsYHONhHh3o9dGp39sX/9Zfmt476UnhvU0UhXgJnXXAikt/MpN6AuSLCCMdEQ==",
|
||||
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||
"sha512": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.configuration.binder/2.0.0",
|
||||
"path": "microsoft.extensions.configuration.binder/6.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".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.xml",
|
||||
"microsoft.extensions.configuration.binder.2.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.configuration.binder.nuspec"
|
||||
"microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.configuration.binder.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.FileExtensions/7.0.0": {
|
||||
|
|
@ -4731,6 +4880,25 @@
|
|||
"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": {
|
||||
"sha512": "3nBQLeBrcd4Rgd9vQi4gF5NgAWxnQrHekjjwlgww4wyLNfJDizjiex2resOLoAuAgy3y2IIAWjOpbr0UKR2ykw==",
|
||||
"type": "package",
|
||||
|
|
@ -4856,6 +5024,25 @@
|
|||
"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": {
|
||||
"sha512": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==",
|
||||
"type": "package",
|
||||
|
|
@ -4898,6 +5085,25 @@
|
|||
"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": {
|
||||
"sha512": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==",
|
||||
"type": "package",
|
||||
|
|
@ -5370,6 +5576,89 @@
|
|||
"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": {
|
||||
"sha512": "xaiJLIdu6rYMKfQMYUZgTy8YK7SMZjB4Yk50C/u//Z4OsvxkUfSPJy4nknfvwAC34yr13q7kcyh4grbwhSxyZg==",
|
||||
"type": "package",
|
||||
|
|
@ -8112,6 +8401,7 @@
|
|||
"AWSSDK.S3 >= 3.7.103.39",
|
||||
"BMA.EHR.Core >= 1.0.0",
|
||||
"BMA.EHR.Extensions >= 1.0.1",
|
||||
"BouncyCastle.NetCore >= 1.9.0",
|
||||
"EPPlus >= 6.1.3",
|
||||
"EPPlus.Interfaces >= 6.1.1",
|
||||
"EPPlus.System.Drawing >= 6.1.1",
|
||||
|
|
@ -8138,6 +8428,7 @@
|
|||
"Microsoft.EntityFrameworkCore.Tools >= 7.0.4",
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.17.0",
|
||||
"Pomelo.EntityFrameworkCore.MySql >= 7.0.0",
|
||||
"Sentry.AspNetCore >= 3.30.0",
|
||||
"Serilog >= 2.12.0",
|
||||
"Serilog.AspNetCore >= 6.1.0",
|
||||
"Serilog.Enrichers.Environment >= 2.2.0",
|
||||
|
|
@ -8222,6 +8513,10 @@
|
|||
"target": "Package",
|
||||
"version": "[1.0.1, )"
|
||||
},
|
||||
"BouncyCastle.NetCore": {
|
||||
"target": "Package",
|
||||
"version": "[1.9.0, )"
|
||||
},
|
||||
"EPPlus": {
|
||||
"target": "Package",
|
||||
"version": "[6.1.3, )"
|
||||
|
|
@ -8328,6 +8623,10 @@
|
|||
"target": "Package",
|
||||
"version": "[7.0.0, )"
|
||||
},
|
||||
"Sentry.AspNetCore": {
|
||||
"target": "Package",
|
||||
"version": "[3.30.0, )"
|
||||
},
|
||||
"Serilog": {
|
||||
"target": "Package",
|
||||
"version": "[2.12.0, )"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "UamAJ+luCR5BwXfEV/O5TWqxblwcXJsT9e9lSupRwpSjVNNTPJ+/XkVZ/YNA1yBoG23TF1II8FLxdnStLW+fkA==",
|
||||
"dgSpecHash": "pGFU0xfNi4nLi0e2b+i6DR2wgiyob2yQxLxlDzkcCpOCdw+C03VAunyli3b7rozwKJ3GhD7nJifxVqr+m+OBHw==",
|
||||
"success": true,
|
||||
"projectFilePath": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
||||
"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\\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\\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\\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",
|
||||
|
|
@ -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.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.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.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",
|
||||
|
|
@ -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.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.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.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.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.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.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",
|
||||
|
|
@ -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.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\\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.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",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue