ปรับ ui สรรหาสอบคัดเลือก
This commit is contained in:
parent
c79bc39c86
commit
fbef67f33a
29 changed files with 7384 additions and 666 deletions
|
|
@ -264,7 +264,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
|||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsyncRegisterExam(string examId, string positionId)
|
||||
public async Task<ActionResult<ResponseObject>> GetsAsyncRegisterExam(Guid examId, Guid positionId)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -555,32 +555,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// อัพเดทข้อมูล ประวัติการศีกษา ผู้สมัคร
|
||||
/// </summary>
|
||||
/// <param name="educationId">รหัสประวัติการศีกษา</param>
|
||||
/// <param name="candidateEducation">ข้อมูลประวัติการศีกษา</param>
|
||||
/// <returns></returns>
|
||||
/// <response code="200">เมื่อทำการอัพเดทข้อมูล ประวัติการศีกษา ผู้สมัคร สำเร็จ</response>
|
||||
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
[HttpPut("education/{educationId:length(36)}")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
public async Task<ActionResult<ResponseObject>> UpdateAsyncEducation(string educationId, CandidateEducationResponseItem candidateEducation)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _candidateService.UpdateAsyncEducation(educationId, candidateEducation);
|
||||
// /// <summary>
|
||||
// /// อัพเดทข้อมูล ประวัติการศีกษา ผู้สมัคร
|
||||
// /// </summary>
|
||||
// /// <param name="educationId">รหัสประวัติการศีกษา</param>
|
||||
// /// <param name="candidateEducation">ข้อมูลประวัติการศีกษา</param>
|
||||
// /// <returns></returns>
|
||||
// /// <response code="200">เมื่อทำการอัพเดทข้อมูล ประวัติการศีกษา ผู้สมัคร สำเร็จ</response>
|
||||
// /// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||
// /// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||
// [HttpPut("education/{educationId:length(36)}")]
|
||||
// [ProducesResponseType(StatusCodes.Status200OK)]
|
||||
// [ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||
// [ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||
// public async Task<ActionResult<ResponseObject>> UpdateAsyncEducation(string educationId, CandidateEducationResponseItem candidateEducation)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// await _candidateService.UpdateAsyncEducation(educationId, candidateEducation);
|
||||
|
||||
return Success();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Error(ex);
|
||||
}
|
||||
}
|
||||
// return Success();
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// return Error(ex);
|
||||
// }
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// ลบข้อมูล ประวัติการศีกษา ผู้สมัคร
|
||||
|
|
|
|||
|
|
@ -605,31 +605,34 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("ลำดับที่สอบได้");
|
||||
|
||||
b.Property<string>("OccupationCompany")
|
||||
b.Property<string>("OccupationGroup")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("สำนัก/บริษัท บริษัท");
|
||||
.HasComment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย");
|
||||
|
||||
b.Property<string>("OccupationDepartment")
|
||||
b.Property<string>("OccupationOrg")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("กอง/ฝ่าย บริษัท");
|
||||
.HasComment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง");
|
||||
|
||||
b.Property<string>("OccupationEmail")
|
||||
.HasMaxLength(200)
|
||||
.HasColumnType("varchar(200)")
|
||||
.HasComment("อีเมล บริษัท");
|
||||
b.Property<string>("OccupationPile")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ตำแหน่งปัจจุบัน กอง");
|
||||
|
||||
b.Property<string>("OccupationPosition")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ตำแหน่งอาชีพ");
|
||||
.HasComment("ตำแหน่งปัจจุบัน สังกัด");
|
||||
|
||||
b.Property<string>("OccupationPositionType")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ตำแหน่งปัจจุบัน ประเภทราชการ");
|
||||
|
||||
b.Property<int?>("OccupationSalary")
|
||||
.HasColumnType("int")
|
||||
.HasComment("ตำแหน่งปัจจุบัน เงินเดือน");
|
||||
|
||||
b.Property<string>("OccupationTelephone")
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("varchar(20)")
|
||||
.HasComment("โทรศัพท์ บริษัท");
|
||||
|
||||
b.Property<string>("OccupationType")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ประเภทอาชีพที่ทำงานมาก่อน");
|
||||
.HasComment("ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน");
|
||||
|
||||
b.Property<string>("Pass")
|
||||
.HasColumnType("longtext")
|
||||
|
|
@ -769,6 +772,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("สถานภาพ");
|
||||
|
||||
b.Property<Guid?>("ReligionId")
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Id ศาสนา");
|
||||
|
||||
b.Property<string>("ReligionName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ศาสนา");
|
||||
|
||||
b.Property<string>("ResultA")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ผลสอบภาค ก");
|
||||
|
|
@ -931,6 +942,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnOrder(1)
|
||||
.HasComment("ระยะเวลาเริ่ม");
|
||||
|
||||
b.Property<string>("Group")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(4)
|
||||
.HasComment("กลุ่ม/ฝ่าย");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnOrder(106)
|
||||
|
|
@ -955,29 +972,29 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Name")
|
||||
b.Property<string>("Org")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("สถานที่ทำงาน/ฝึกงาน");
|
||||
.HasColumnOrder(6)
|
||||
.HasComment("สังกัด");
|
||||
|
||||
b.Property<string>("Pile")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(5)
|
||||
.HasComment("กอง");
|
||||
|
||||
b.Property<string>("Position")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(4)
|
||||
.HasComment("ตำแหน่ง/ลักษณะงาน");
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("ชื่อตำแหน่ง");
|
||||
|
||||
b.Property<string>("Reason")
|
||||
b.Property<string>("RangeDate")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(6)
|
||||
.HasComment("เหตุผลที่ออก");
|
||||
|
||||
b.Property<int>("Salary")
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("int")
|
||||
.HasColumnOrder(5)
|
||||
.HasComment("เงินเดือนสุดท้ายก่อนออก");
|
||||
.HasColumnOrder(7)
|
||||
.HasComment("ระยะเวลา");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
|
|
@ -2109,23 +2126,45 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnOrder(101)
|
||||
.HasComment("User Id ที่สร้างข้อมูล");
|
||||
|
||||
b.Property<DateTime>("DurationEnd")
|
||||
b.Property<DateTime?>("EducationEndDate")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(2)
|
||||
.HasComment("ระยะเวลาสิ้นสุด");
|
||||
.HasComment("วันที่สำเร็จการศึกษา");
|
||||
|
||||
b.Property<DateTime>("DurationStart")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasColumnOrder(1)
|
||||
.HasComment("ระยะเวลาเริ่ม");
|
||||
|
||||
b.Property<Guid?>("EducationLevelId")
|
||||
b.Property<Guid?>("EducationLevelExamId")
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Idวุฒิที่ได้รับ");
|
||||
.HasComment("Id วุฒิที่ใช้สมัครสอบ");
|
||||
|
||||
b.Property<string>("EducationLevelName")
|
||||
b.Property<string>("EducationLevelExamName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("วุฒิที่ได้รับ");
|
||||
.HasComment("วุฒิที่ใช้สมัครสอบ");
|
||||
|
||||
b.Property<Guid?>("EducationLevelHighId")
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Id วุฒิการศึกษาสูงสุด");
|
||||
|
||||
b.Property<string>("EducationLevelHighName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("วุฒิการศึกษาสูงสุด");
|
||||
|
||||
b.Property<string>("EducationLocation")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ชื่อสถานศึกษา");
|
||||
|
||||
b.Property<string>("EducationMajor")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("สาขาวิชา/วิชาเอก");
|
||||
|
||||
b.Property<string>("EducationName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ชื่อปริญญา");
|
||||
|
||||
b.Property<string>("EducationScores")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("คะแนนเฉลี่ยสะสม");
|
||||
|
||||
b.Property<string>("EducationType")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ประเภทสถานศึกษา");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
|
|
@ -2151,24 +2190,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnOrder(102)
|
||||
.HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");
|
||||
|
||||
b.Property<string>("Major")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(4)
|
||||
.HasComment("สาขาวิชา/วิชาเอก");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext")
|
||||
.HasColumnOrder(3)
|
||||
.HasComment("ชื่อสถานศึกษา");
|
||||
|
||||
b.Property<float>("Scores")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("float")
|
||||
.HasColumnOrder(6)
|
||||
.HasComment("คะแนนเฉลี่ยตลอดหลักสูตร");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CandidateId");
|
||||
|
|
@ -2239,6 +2260,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnType("longtext")
|
||||
.HasComment("รายละเอียดสมัครสอบ");
|
||||
|
||||
b.Property<string>("EditorCondition")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("รายละเอียดเงื่อนไขการสมัคร");
|
||||
|
||||
b.Property<string>("EditorConfirm")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("รายละเอียดคำรับรอง");
|
||||
|
||||
b.Property<DateTime?>("ExamDate")
|
||||
.HasColumnType("datetime(6)")
|
||||
.HasComment("วันที่สอบ");
|
||||
|
|
@ -2508,7 +2537,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
|
||||
b.Property<bool>("HighDegree")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasComment("ปริญญาขึ้นไป");
|
||||
.HasComment("ปริญญาบัตรขึ้นไป");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("tinyint(1)")
|
||||
|
|
@ -2541,6 +2570,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
.HasColumnType("char(36)")
|
||||
.HasComment("Id ตำแหน่ง");
|
||||
|
||||
b.Property<Guid?>("PositionLevelId")
|
||||
.HasColumnType("char(36)")
|
||||
.HasComment("Id ระดับ");
|
||||
|
||||
b.Property<string>("PositionLevelName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ชื่อระดับ");
|
||||
|
||||
b.Property<string>("PositionName")
|
||||
.HasColumnType("longtext")
|
||||
.HasComment("ชื่อตำแหน่ง");
|
||||
|
|
@ -2795,7 +2832,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Education", b =>
|
||||
{
|
||||
b.HasOne("BMA.EHR.Recurit.Exam.Service.Models.Candidate", "Candidate")
|
||||
.WithMany()
|
||||
.WithMany("Educations")
|
||||
.HasForeignKey("CandidateId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
|
@ -2868,6 +2905,11 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
|||
b.Navigation("CMSGovernments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Candidate", b =>
|
||||
{
|
||||
b.Navigation("Educations");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("BMA.EHR.Recurit.Exam.Service.Models.Disables.Disable", b =>
|
||||
{
|
||||
b.Navigation("Addresses");
|
||||
|
|
|
|||
2944
Migrations/20230929135727_Update Table PositionExam Add PositionLevel.Designer.cs
generated
Normal file
2944
Migrations/20230929135727_Update Table PositionExam Add PositionLevel.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,111 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class UpdateTablePositionExamAddPositionLevel : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<bool>(
|
||||
name: "HighDegree",
|
||||
table: "PositionExams",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
comment: "ปริญญาบัตรขึ้นไป",
|
||||
oldClrType: typeof(bool),
|
||||
oldType: "tinyint(1)",
|
||||
oldComment: "ปริญญาขึ้นไป");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "PositionLevelId",
|
||||
table: "PositionExams",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Id ระดับ",
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "PositionLevelName",
|
||||
table: "PositionExams",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ชื่อระดับ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EditorCondition",
|
||||
table: "PeriodExams",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "รายละเอียดเงื่อนไขการสมัคร")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EditorConfirm",
|
||||
table: "PeriodExams",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "รายละเอียดคำรับรอง")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "ReligionId",
|
||||
table: "Candidates",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Id ศาสนา",
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "ReligionName",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ศาสนา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PositionLevelId",
|
||||
table: "PositionExams");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PositionLevelName",
|
||||
table: "PositionExams");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EditorCondition",
|
||||
table: "PeriodExams");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EditorConfirm",
|
||||
table: "PeriodExams");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ReligionId",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ReligionName",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.AlterColumn<bool>(
|
||||
name: "HighDegree",
|
||||
table: "PositionExams",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
comment: "ปริญญาขึ้นไป",
|
||||
oldClrType: typeof(bool),
|
||||
oldType: "tinyint(1)",
|
||||
oldComment: "ปริญญาบัตรขึ้นไป");
|
||||
}
|
||||
}
|
||||
}
|
||||
2957
Migrations/20231001081015_Update Table PositionExam Add PositionLevel1.Designer.cs
generated
Normal file
2957
Migrations/20231001081015_Update Table PositionExam Add PositionLevel1.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,504 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class UpdateTablePositionExamAddPositionLevel1 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "DurationEnd",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "DurationStart",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelId",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelName",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Major",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Name",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Scores",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Name",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Reason",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Salary",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationCompany",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationDepartment",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationEmail",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationType",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "EducationEndDate",
|
||||
table: "Educations",
|
||||
type: "datetime(6)",
|
||||
nullable: true,
|
||||
comment: "วันที่สำเร็จการศึกษา");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "EducationLevelExamId",
|
||||
table: "Educations",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Id วุฒิที่ใช้สมัครสอบ",
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationLevelExamName",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "วุฒิที่ใช้สมัครสอบ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "EducationLevelHighId",
|
||||
table: "Educations",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Id วุฒิการศึกษาสูงสุด",
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationLevelHighName",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "วุฒิการศึกษาสูงสุด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationLocation",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ชื่อสถานศึกษา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationMajor",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "สาขาวิชา/วิชาเอก")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationName",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ชื่อปริญญา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationScores",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "คะแนนเฉลี่ยสะสม")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationType",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ประเภทสถานศึกษา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Position",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "ชื่อตำแหน่ง",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldComment: "ตำแหน่ง/ลักษณะงาน")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.Annotation("Relational:ColumnOrder", 3)
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("Relational:ColumnOrder", 4);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Group",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "กลุ่ม/ฝ่าย")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Org",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "สังกัด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Pile",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "กอง")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "RangeDate",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "ระยะเวลา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "OccupationTelephone",
|
||||
table: "Candidates",
|
||||
type: "varchar(20)",
|
||||
maxLength: 20,
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "varchar(20)",
|
||||
oldMaxLength: 20,
|
||||
oldNullable: true,
|
||||
oldComment: "โทรศัพท์ บริษัท")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "OccupationPosition",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน สังกัด",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldNullable: true,
|
||||
oldComment: "ตำแหน่งอาชีพ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationGroup",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationOrg",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationPile",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน กอง")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationPositionType",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน ประเภทราชการ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "OccupationSalary",
|
||||
table: "Candidates",
|
||||
type: "int",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งปัจจุบัน เงินเดือน");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationEndDate",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelExamId",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelExamName",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelHighId",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLevelHighName",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationLocation",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationMajor",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationName",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationScores",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EducationType",
|
||||
table: "Educations");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Group",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Org",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Pile",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RangeDate",
|
||||
table: "Careers");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationGroup",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationOrg",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationPile",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationPositionType",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OccupationSalary",
|
||||
table: "Candidates");
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "DurationEnd",
|
||||
table: "Educations",
|
||||
type: "datetime(6)",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
comment: "ระยะเวลาสิ้นสุด")
|
||||
.Annotation("Relational:ColumnOrder", 2);
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "DurationStart",
|
||||
table: "Educations",
|
||||
type: "datetime(6)",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
comment: "ระยะเวลาเริ่ม")
|
||||
.Annotation("Relational:ColumnOrder", 1);
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "EducationLevelId",
|
||||
table: "Educations",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
comment: "Idวุฒิที่ได้รับ",
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "EducationLevelName",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "วุฒิที่ได้รับ")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Major",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "สาขาวิชา/วิชาเอก")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Name",
|
||||
table: "Educations",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "ชื่อสถานศึกษา")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<float>(
|
||||
name: "Scores",
|
||||
table: "Educations",
|
||||
type: "float",
|
||||
maxLength: 10,
|
||||
nullable: false,
|
||||
defaultValue: 0f,
|
||||
comment: "คะแนนเฉลี่ยตลอดหลักสูตร")
|
||||
.Annotation("Relational:ColumnOrder", 6);
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Position",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "ตำแหน่ง/ลักษณะงาน",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldComment: "ชื่อตำแหน่ง")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.Annotation("Relational:ColumnOrder", 4)
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("Relational:ColumnOrder", 3);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Name",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "สถานที่ทำงาน/ฝึกงาน")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Reason",
|
||||
table: "Careers",
|
||||
type: "longtext",
|
||||
nullable: false,
|
||||
comment: "เหตุผลที่ออก")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Salary",
|
||||
table: "Careers",
|
||||
type: "int",
|
||||
maxLength: 20,
|
||||
nullable: false,
|
||||
defaultValue: 0,
|
||||
comment: "เงินเดือนสุดท้ายก่อนออก")
|
||||
.Annotation("Relational:ColumnOrder", 5);
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "OccupationTelephone",
|
||||
table: "Candidates",
|
||||
type: "varchar(20)",
|
||||
maxLength: 20,
|
||||
nullable: true,
|
||||
comment: "โทรศัพท์ บริษัท",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "varchar(20)",
|
||||
oldMaxLength: 20,
|
||||
oldNullable: true,
|
||||
oldComment: "ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "OccupationPosition",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ตำแหน่งอาชีพ",
|
||||
oldClrType: typeof(string),
|
||||
oldType: "longtext",
|
||||
oldNullable: true,
|
||||
oldComment: "ตำแหน่งปัจจุบัน สังกัด")
|
||||
.Annotation("MySql:CharSet", "utf8mb4")
|
||||
.OldAnnotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationCompany",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "สำนัก/บริษัท บริษัท")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationDepartment",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "กอง/ฝ่าย บริษัท")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationEmail",
|
||||
table: "Candidates",
|
||||
type: "varchar(200)",
|
||||
maxLength: 200,
|
||||
nullable: true,
|
||||
comment: "อีเมล บริษัท")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "OccupationType",
|
||||
table: "Candidates",
|
||||
type: "longtext",
|
||||
nullable: true,
|
||||
comment: "ประเภทอาชีพที่ทำงานมาก่อน")
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -110,6 +110,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[Comment("สถานภาพ")]
|
||||
public string? RelationshipName { get; set; }
|
||||
|
||||
[Comment("Id ศาสนา")]
|
||||
public Guid? ReligionId { get; set; }
|
||||
|
||||
[Comment("ศาสนา")]
|
||||
public string? ReligionName { get; set; }
|
||||
|
||||
[MaxLength(200), Comment("อีเมล")]
|
||||
public string? Email { get; set; }
|
||||
|
||||
|
|
@ -253,24 +259,20 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[MaxLength(100), Comment("สัญชาติมารดา")]
|
||||
public string? MotherNationality { get; set; }
|
||||
|
||||
|
||||
|
||||
[Comment("ประเภทอาชีพที่ทำงานมาก่อน")]
|
||||
public string? OccupationType { get; set; }
|
||||
|
||||
[Comment("ตำแหน่งอาชีพ")]
|
||||
[Comment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")]
|
||||
public string? OccupationOrg { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน กอง")]
|
||||
public string? OccupationPile { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")]
|
||||
public string? OccupationGroup { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน เงินเดือน")]
|
||||
public int? OccupationSalary { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน สังกัด")]
|
||||
public string? OccupationPosition { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน ประเภทราชการ")]
|
||||
public string? OccupationPositionType { get; set; }
|
||||
|
||||
[Comment("สำนัก/บริษัท บริษัท")]
|
||||
public string? OccupationCompany { get; set; }
|
||||
|
||||
[Comment("กอง/ฝ่าย บริษัท")]
|
||||
public string? OccupationDepartment { get; set; }
|
||||
|
||||
[MaxLength(200), Comment("อีเมล บริษัท")]
|
||||
public string? OccupationEmail { get; set; }
|
||||
|
||||
[MaxLength(20), Comment("โทรศัพท์ บริษัท")]
|
||||
[MaxLength(20), Comment("ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน")]
|
||||
public string? OccupationTelephone { get; set; }
|
||||
|
||||
[Comment("เหตุผลการไม่อนุมัติ")]
|
||||
|
|
|
|||
|
|
@ -6,17 +6,20 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
{
|
||||
public class Career : EntityBase
|
||||
{
|
||||
[Required, Column(Order = 7), Comment("Id ผู้สมัคร")]
|
||||
[Required, Column(Order = 8), Comment("Id ผู้สมัคร")]
|
||||
public virtual Candidate? Candidate { get; set; }
|
||||
|
||||
[Required, Column(Order = 3), Comment("สถานที่ทำงาน/ฝึกงาน")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Required, Column(Order = 4), Comment("ตำแหน่ง/ลักษณะงาน")]
|
||||
[Required, Column(Order = 3), Comment("ชื่อตำแหน่ง")]
|
||||
public string Position { get; set; } = string.Empty;
|
||||
|
||||
[Required, MaxLength(20), Column(Order = 5), Comment("เงินเดือนสุดท้ายก่อนออก")]
|
||||
public int Salary { get; set; }
|
||||
[Required, Column(Order = 4), Comment("กลุ่ม/ฝ่าย")]
|
||||
public string Group { get; set; } = string.Empty;
|
||||
|
||||
[Required, Column(Order = 5), Comment("กอง")]
|
||||
public string Pile { get; set; } = string.Empty;
|
||||
|
||||
[Required, Column(Order = 6), Comment("สังกัด")]
|
||||
public string Org { get; set; } = string.Empty;
|
||||
|
||||
[Required, Column(Order = 1), Comment("ระยะเวลาเริ่ม")]
|
||||
public DateTime DurationStart { get; set; } = DateTime.Now.Date;
|
||||
|
|
@ -24,7 +27,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[Required, Column(Order = 2), Comment("ระยะเวลาสิ้นสุด")]
|
||||
public DateTime DurationEnd { get; set; } = DateTime.Now.Date;
|
||||
|
||||
[Required, Column(Order = 6), Comment("เหตุผลที่ออก")]
|
||||
public string Reason { get; set; } = string.Empty;
|
||||
[Required, Column(Order = 7), Comment("ระยะเวลา")]
|
||||
public string RangeDate { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,26 +8,25 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
{
|
||||
[Required, Column(Order = 7), Comment("Id ผู้สมัคร")]
|
||||
public virtual Candidate? Candidate { get; set; }
|
||||
|
||||
[Comment("Idวุฒิที่ได้รับ")]
|
||||
public Guid? EducationLevelId { get; set; }
|
||||
|
||||
[Comment("วุฒิที่ได้รับ")]
|
||||
public string? EducationLevelName { get; set; }
|
||||
|
||||
[Required, Column(Order = 4), Comment("สาขาวิชา/วิชาเอก")]
|
||||
public string Major { get; set; } = string.Empty;
|
||||
|
||||
[Required, MaxLength(10), Column(Order = 6), Comment("คะแนนเฉลี่ยตลอดหลักสูตร")]
|
||||
public float Scores { get; set; }
|
||||
|
||||
[Required, Column(Order = 3), Comment("ชื่อสถานศึกษา")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Required, Column(Order = 1), Comment("ระยะเวลาเริ่ม")]
|
||||
public DateTime DurationStart { get; set; } = DateTime.Now.Date;
|
||||
|
||||
[Required, Column(Order = 2), Comment("ระยะเวลาสิ้นสุด")]
|
||||
public DateTime DurationEnd { get; set; } = DateTime.Now.Date;
|
||||
[Comment("Id วุฒิที่ใช้สมัครสอบ")]
|
||||
public Guid? EducationLevelExamId { get; set; }
|
||||
[Comment("วุฒิที่ใช้สมัครสอบ")]
|
||||
public string? EducationLevelExamName { get; set; }
|
||||
[Comment("ชื่อปริญญา")]
|
||||
public string? EducationName { get; set; }
|
||||
[Comment("สาขาวิชา/วิชาเอก")]
|
||||
public string? EducationMajor { get; set; }
|
||||
[Comment("ชื่อสถานศึกษา")]
|
||||
public string? EducationLocation { get; set; }
|
||||
[Comment("ประเภทสถานศึกษา")]
|
||||
public string? EducationType { get; set; }
|
||||
[Comment("วันที่สำเร็จการศึกษา")]
|
||||
public DateTime? EducationEndDate { get; set; }
|
||||
[Comment("คะแนนเฉลี่ยสะสม")]
|
||||
public string? EducationScores { get; set; }
|
||||
[Comment("Id วุฒิการศึกษาสูงสุด")]
|
||||
public Guid? EducationLevelHighId { get; set; }
|
||||
[Comment("วุฒิการศึกษาสูงสุด")]
|
||||
public string? EducationLevelHighName { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,6 +68,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[Comment("รายละเอียดสมัครสอบ")]
|
||||
public string? Detail { get; set; }
|
||||
|
||||
[Comment("รายละเอียดเงื่อนไขการสมัคร")]
|
||||
public string? EditorCondition { get; set; }
|
||||
|
||||
[Comment("รายละเอียดคำรับรอง")]
|
||||
public string? EditorConfirm { get; set; }
|
||||
|
||||
[Comment("หมายเหตุ")]
|
||||
public string? Note { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -173,23 +173,21 @@ namespace BMA.EHR.Domain.Models.Placement
|
|||
[MaxLength(100), Comment("สัญชาติมารดา")]
|
||||
public string? MotherNationality { get; set; }
|
||||
|
||||
[Comment("ประเภทอาชีพที่ทำงานมาก่อน")]
|
||||
public string? OccupationType { get; set; }
|
||||
|
||||
[Comment("สำนัก/บริษัท บริษัท")]
|
||||
public string? OccupationCompany { get; set; }
|
||||
|
||||
[Comment("กอง/ฝ่าย บริษัท")]
|
||||
public string? OccupationDepartment { get; set; }
|
||||
|
||||
[MaxLength(200), Comment("อีเมล บริษัท")]
|
||||
public string? OccupationEmail { get; set; }
|
||||
|
||||
[MaxLength(200), Comment("โทรศัพท์ บริษัท")]
|
||||
public string? OccupationTelephone { get; set; }
|
||||
|
||||
[Comment("ตำแหน่งอาชีพ")]
|
||||
[Comment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")]
|
||||
public string? OccupationOrg { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน กอง")]
|
||||
public string? OccupationPile { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")]
|
||||
public string? OccupationGroup { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน เงินเดือน")]
|
||||
public int? OccupationSalary { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน สังกัด")]
|
||||
public string? OccupationPosition { get; set; }
|
||||
[Comment("ตำแหน่งปัจจุบัน ประเภทราชการ")]
|
||||
public string? OccupationPositionType { get; set; }
|
||||
|
||||
[MaxLength(20), Comment("ตำแหน่งปัจจุบัน เบอร์โทรที่ทำงาน")]
|
||||
public string? OccupationTelephone { get; set; }
|
||||
|
||||
// [Comment("Id ตำแหน่งเลขที่")]
|
||||
// public PositionNumberEntity? PositionNumber { get; set; }
|
||||
|
|
|
|||
25
Models/Placement/PositionLevel.cs
Normal file
25
Models/Placement/PositionLevel.cs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace BMA.EHR.Domain.Models.Placement
|
||||
{
|
||||
public class PositionLevel : EntityBaseNoIsActive
|
||||
{
|
||||
[Column(Order = 1), Comment("ลำดับ")]
|
||||
public int? Order { get; set; }
|
||||
|
||||
[Required, MaxLength(100), Column(Order = 2), Comment("ชื่อระดับตำแหน่ง")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
[Required, MaxLength(100), Column(Order = 3), Comment("ชื่อย่อระดับตำแหน่ง")]
|
||||
public string ShortName { get; set; } = string.Empty;
|
||||
|
||||
[Column(Order = 4), Comment("ลำดับชั้นของระดับตำแหน่ง")]
|
||||
public int Level { get; set; } = 0;
|
||||
|
||||
[Column(Order = 5), Comment("สถานะการใช้งาน")]
|
||||
public bool IsActive { get; set; } = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models.Documents;
|
||||
using BMA.EHR.Domain.Models.Placement;
|
||||
|
||||
namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||
{
|
||||
|
|
@ -16,13 +17,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
|||
[Comment("ชื่อตำแหน่ง")]
|
||||
public string? PositionName { get; set; }
|
||||
|
||||
[Comment("Id ระดับ")]
|
||||
public Guid? PositionLevelId { get; set; }
|
||||
|
||||
[Comment("ชื่อระดับ")]
|
||||
public string? PositionLevelName { get; set; }
|
||||
|
||||
[Comment("Id ประเภทแบบฟอร์ม")]
|
||||
public string? TypeId { get; set; }
|
||||
|
||||
[Comment("ชื่อประเภทแบบฟอร์ม")]
|
||||
public string? TypeName { get; set; }
|
||||
|
||||
[Comment("ปริญญาขึ้นไป")]
|
||||
[Comment("ปริญญาบัตรขึ้นไป")]
|
||||
public bool HighDegree { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
|||
public int? ReviewPoint { get; set; }
|
||||
public string? Review { get; set; }
|
||||
public string? Position { get; set; }
|
||||
public string? PositionLevel { get; set; }
|
||||
public string? HighDegree { get; set; }
|
||||
public DateTime? AnnouncementDate { get; set; }
|
||||
public Guid? Id { get; set; }
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
|||
public bool AnnouncementExam { get; set; }
|
||||
public string? Category { get; set; }
|
||||
public string? Detail { get; set; }
|
||||
public string? EditorCondition { get; set; }
|
||||
public string? EditorConfirm { get; set; }
|
||||
public string? Note { get; set; }
|
||||
public List<FormFile>? Doc { get; set; }
|
||||
public List<FormFile>? Image { get; set; }
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
|||
public Guid? Id { get; set; }
|
||||
public Guid? PositionId { get; set; }
|
||||
public string? PositionName { get; set; }
|
||||
public Guid? PositionLevelId { get; set; }
|
||||
public string? PositionLevelName { get; set; }
|
||||
public bool HighDegree { get; set; }
|
||||
public string? TypeId { get; set; }
|
||||
public string? TypeName { get; set; }
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
|||
public string? Name { get; set; }
|
||||
public int? Round { get; set; }
|
||||
public int? Year { get; set; }
|
||||
public PositionExam? Posiiton { get; set; }
|
||||
public string? Position { get; set; }
|
||||
public string? PositionLevel { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Request
|
|||
public bool Bank { get; set; }
|
||||
public bool Payment { get; set; }
|
||||
public string? Status { get; set; }
|
||||
public string? EditorCondition { get; set; }
|
||||
public string? EditorConfirm { get; set; }
|
||||
public PositionExam? PositionExam { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,9 +21,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
public string? Payment_endDate { get; set; }
|
||||
public string? Title { get; set; }
|
||||
public string? Detail { get; set; }
|
||||
public string? EditorCondition { get; set; }
|
||||
public string? EditorConfirm { get; set; }
|
||||
public string? Image { get; set; }
|
||||
public List<HomePageLinkResponseItem>? Images { get; set; }
|
||||
public List<HomePageLinkResponseItem>? Files { get; set; }
|
||||
public List<HomePageLinkResponseItem>? Positions { get; set; }
|
||||
public List<HomePageLinkResponseItem>? PositionsTrue { get; set; }
|
||||
public List<HomePageLinkResponseItem>? PositionsFalse { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
{
|
||||
public class CandidateCareerResponseItem
|
||||
{
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Position { get; set; } = string.Empty;
|
||||
public int Salary { get; set; }
|
||||
public DateTime DurationStart { get; set; }
|
||||
public DateTime DurationEnd { get; set; }
|
||||
public string Reason { get; set; } = string.Empty;
|
||||
public string Group { get; set; } = string.Empty;
|
||||
public string Pile { get; set; } = string.Empty;
|
||||
public string Org { get; set; } = string.Empty;
|
||||
public DateTime DurationStart { get; set; } = DateTime.Now.Date;
|
||||
public DateTime DurationEnd { get; set; } = DateTime.Now.Date;
|
||||
public string RangeDate { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
{
|
||||
public class CandidateEducationResponseItem
|
||||
{
|
||||
public string EducationLevelId { get; set; } = string.Empty;
|
||||
public string Major { get; set; } = string.Empty;
|
||||
public float Scores { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public DateTime DurationStart { get; set; }
|
||||
public DateTime DurationEnd { get; set; }
|
||||
public Guid EducationLevelExamId { get; set; }
|
||||
public string EducationName { get; set; } = string.Empty;
|
||||
public string EducationMajor { get; set; } = string.Empty;
|
||||
public string EducationLocation { get; set; } = string.Empty;
|
||||
public string EducationType { get; set; } = string.Empty;
|
||||
public DateTime EducationEndDate { get; set; }
|
||||
public string EducationScores { get; set; } = string.Empty;
|
||||
public Guid EducationLevelHighId { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
// public Models.Relationship? Relationship { get; set; }
|
||||
public string? RelationshipId { get; set; }
|
||||
public string? Relationship { get; set; }
|
||||
public string? ReligionId { get; set; }
|
||||
public string? Religion { get; set; }
|
||||
public string? Email { get; set; } = string.Empty;
|
||||
public string? CitizenId { get; set; } = string.Empty;
|
||||
// public Models.Province? CitizenProvince { get; set; }
|
||||
|
|
|
|||
|
|
@ -3,16 +3,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
{
|
||||
public class CandidateOccupationResponseItem
|
||||
{
|
||||
public string? OccupationType { get; set; }
|
||||
|
||||
public string? OccupationCompany { get; set; }
|
||||
|
||||
public string? OccupationDepartment { get; set; }
|
||||
|
||||
public string? OccupationEmail { get; set; }
|
||||
|
||||
public string? OccupationTelephone { get; set; }
|
||||
|
||||
public string? OccupationOrg { get; set; }
|
||||
public string? OccupationPile { get; set; }
|
||||
public string? OccupationGroup { get; set; }
|
||||
public int? OccupationSalary { get; set; }
|
||||
public string? OccupationPosition { get; set; }
|
||||
public string? OccupationPositionType { get; set; }
|
||||
public string? OccupationTelephone { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
public string? Nationality { get; set; } = string.Empty;
|
||||
public DateTime? DateOfBirth { get; set; }
|
||||
// public Models.Relationship? Relationship { get; set; }
|
||||
public string? RelationshipId { get; set; }
|
||||
public string? Relationship { get; set; }
|
||||
public string? ReligionId { get; set; }
|
||||
// public string? Religion { get; set; }
|
||||
public string? Email { get; set; } = string.Empty;
|
||||
public string? CitizenId { get; set; } = string.Empty;
|
||||
// public Models.Province? CitizenProvince { get; set; }
|
||||
public string? CitizenProvinceId { get; set; }
|
||||
public string? CitizenProvince { get; set; }
|
||||
// public Models.District? CitizenDistrict { get; set; }
|
||||
public string? CitizenDistrictId { get; set; }
|
||||
public string? CitizenDistrict { get; set; }
|
||||
public DateTime? CitizenDate { get; set; }
|
||||
// public string? CitizenProvinceId { get; set; }
|
||||
// public string? CitizenProvince { get; set; }
|
||||
// // public Models.District? CitizenDistrict { get; set; }
|
||||
// public string? CitizenDistrictId { get; set; }
|
||||
// public string? CitizenDistrict { get; set; }
|
||||
// public DateTime? CitizenDate { get; set; }
|
||||
public string? Telephone { get; set; }
|
||||
public string? MobilePhone { get; set; }
|
||||
public string? Knowledge { get; set; }
|
||||
|
|
@ -48,38 +48,43 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
public string? CurrentSubDistrictId { get; set; }
|
||||
public string? CurrentSubDistrict { get; set; }
|
||||
public string? CurrentZipCode { get; set; }
|
||||
public bool? Marry { get; set; }
|
||||
// public Models.Prefix? MarryPrefix { get; set; }
|
||||
public string? MarryPrefixId { get; set; }
|
||||
public string? MarryPrefix { get; set; }
|
||||
public string? MarryFirstName { get; set; }
|
||||
public string? MarryLastName { get; set; }
|
||||
public string? MarryOccupation { get; set; }
|
||||
public string? MarryNationality { get; set; }
|
||||
// public Models.Prefix? FatherPrefix { get; set; }
|
||||
public string? FatherPrefixId { get; set; }
|
||||
public string? FatherPrefix { get; set; }
|
||||
public string? FatherFirstName { get; set; }
|
||||
public string? FatherLastName { get; set; }
|
||||
public string? FatherOccupation { get; set; }
|
||||
public string? FatherNationality { get; set; }
|
||||
// public Models.Prefix? MotherPrefix { get; set; }
|
||||
public string? MotherPrefixId { get; set; }
|
||||
public string? MotherPrefix { get; set; }
|
||||
public string? MotherFirstName { get; set; }
|
||||
public string? MotherLastName { get; set; }
|
||||
public string? MotherOccupation { get; set; }
|
||||
public string? MotherNationality { get; set; }
|
||||
public string? OccupationType { get; set; }
|
||||
|
||||
public string? OccupationCompany { get; set; }
|
||||
|
||||
public string? OccupationDepartment { get; set; }
|
||||
|
||||
public string? OccupationEmail { get; set; }
|
||||
|
||||
// public bool? Marry { get; set; }
|
||||
// // public Models.Prefix? MarryPrefix { get; set; }
|
||||
// public string? MarryPrefixId { get; set; }
|
||||
// public string? MarryPrefix { get; set; }
|
||||
// public string? MarryFirstName { get; set; }
|
||||
// public string? MarryLastName { get; set; }
|
||||
// public string? MarryOccupation { get; set; }
|
||||
// public string? MarryNationality { get; set; }
|
||||
// // public Models.Prefix? FatherPrefix { get; set; }
|
||||
// public string? FatherPrefixId { get; set; }
|
||||
// public string? FatherPrefix { get; set; }
|
||||
// public string? FatherFirstName { get; set; }
|
||||
// public string? FatherLastName { get; set; }
|
||||
// public string? FatherOccupation { get; set; }
|
||||
// public string? FatherNationality { get; set; }
|
||||
// // public Models.Prefix? MotherPrefix { get; set; }
|
||||
// public string? MotherPrefixId { get; set; }
|
||||
// public string? MotherPrefix { get; set; }
|
||||
// public string? MotherFirstName { get; set; }
|
||||
// public string? MotherLastName { get; set; }
|
||||
// public string? MotherOccupation { get; set; }
|
||||
// public string? MotherNationality { get; set; }
|
||||
public string? OccupationOrg { get; set; }
|
||||
public string? OccupationPile { get; set; }
|
||||
public string? OccupationGroup { get; set; }
|
||||
public int? OccupationSalary { get; set; }
|
||||
public string? OccupationPosition { get; set; }
|
||||
public string? OccupationPositionType { get; set; }
|
||||
public string? OccupationTelephone { get; set; }
|
||||
|
||||
public string? OccupationPosition { get; set; }
|
||||
public Guid EducationLevelExamId { get; set; }
|
||||
public string EducationName { get; set; } = string.Empty;
|
||||
public string EducationMajor { get; set; } = string.Empty;
|
||||
public string EducationLocation { get; set; } = string.Empty;
|
||||
public string EducationType { get; set; } = string.Empty;
|
||||
public DateTime EducationEndDate { get; set; }
|
||||
public string EducationScores { get; set; } = string.Empty;
|
||||
public Guid EducationLevelHighId { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
public class HomePageLinkResponseItem
|
||||
{
|
||||
public string? Title { get; set; }
|
||||
public string? Level { get; set; }
|
||||
public string? Url { get; set; }
|
||||
public string? Id { get; set; }
|
||||
public string? Path { get; set; }
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Response
|
|||
public bool AnnouncementExam { get; set; }
|
||||
public string? Category { get; set; }
|
||||
public string? Detail { get; set; }
|
||||
public string? EditorCondition { get; set; }
|
||||
public string? EditorConfirm { get; set; }
|
||||
public string? Note { get; set; }
|
||||
public bool IsActive { get; set; }
|
||||
public bool SetSeat { get; set; }
|
||||
|
|
|
|||
|
|
@ -460,11 +460,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Announcement_endDate = x.AnnouncementEndDate.ToString("yyyy-MM-dd"),
|
||||
AnnouncementExam = x.AnnouncementExam,
|
||||
Register_startDate = x.RegisterStartDate == null ? null : x.RegisterStartDate.Value.ToString("yyyy-MM-dd"),
|
||||
Register_endDate = x.RegisterEndDate == null ? null : x.RegisterEndDate.Value.ToString("yyyy-MM-dd"),
|
||||
Register_endDate = x.RegisterEndDate == null || x.RegisterEndDate == x.RegisterStartDate ? null : x.RegisterEndDate.Value.ToString("yyyy-MM-dd"),
|
||||
Payment_startDate = x.PaymentStartDate == null ? null : x.PaymentStartDate.Value.ToString("yyyy-MM-dd"),
|
||||
Payment_endDate = x.PaymentEndDate == null ? null : x.PaymentEndDate.Value.ToString("yyyy-MM-dd"),
|
||||
Payment_endDate = x.PaymentEndDate == null || x.PaymentEndDate == x.PaymentStartDate ? null : x.PaymentEndDate.Value.ToString("yyyy-MM-dd"),
|
||||
Title = x.Name,
|
||||
Detail = x.Detail,
|
||||
EditorCondition = x.EditorCondition,
|
||||
EditorConfirm = x.EditorConfirm,
|
||||
Images = x.PeriodExamImages.OrderBy(x => x.CreatedAt).Select(s => new HomePageLinkResponseItem
|
||||
{
|
||||
Title = s.Document.FileName,
|
||||
|
|
@ -479,9 +481,29 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
Id = s.Id.ToString(),
|
||||
Title = s.PositionName == null ? x.Name : s.PositionName,
|
||||
HighDegree = s.HighDegree == true ? "ปริญญาขึ้นไป" : "ต่ำกว่าปริญญาตรี",
|
||||
Level = s.PositionLevelName == null ? "-" : s.PositionLevelName,
|
||||
HighDegree = s.HighDegree == true ? "ปริญญาบัตรขึ้นไป" : "ต่ำกว่าปริญญาบัตร",
|
||||
Path = $"{x.Id}/{s.Id}",
|
||||
}).ToList(),
|
||||
})
|
||||
.ToList(),
|
||||
PositionsTrue = x.PositionExam.OrderBy(x => x.CreatedAt).Where(x => x.HighDegree == true).Select(s => new HomePageLinkResponseItem
|
||||
{
|
||||
Id = s.Id.ToString(),
|
||||
Title = s.PositionName == null ? x.Name : s.PositionName,
|
||||
Level = s.PositionLevelName == null ? "-" : s.PositionLevelName,
|
||||
HighDegree = s.HighDegree == true ? "ปริญญาบัตรขึ้นไป" : "ต่ำกว่าปริญญาบัตร",
|
||||
Path = $"{x.Id}/{s.Id}",
|
||||
})
|
||||
.ToList(),
|
||||
PositionsFalse = x.PositionExam.OrderBy(x => x.CreatedAt).Where(x => x.HighDegree == false).Select(s => new HomePageLinkResponseItem
|
||||
{
|
||||
Id = s.Id.ToString(),
|
||||
Title = s.PositionName == null ? x.Name : s.PositionName,
|
||||
Level = s.PositionLevelName == null ? "-" : s.PositionLevelName,
|
||||
HighDegree = s.HighDegree == true ? "ปริญญาบัตรขึ้นไป" : "ต่ำกว่าปริญญาบัตร",
|
||||
Path = $"{x.Id}/{s.Id}",
|
||||
})
|
||||
.ToList(),
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Security.Claims;
|
||||
using BMA.EHR.Domain.Models.Placement;
|
||||
using BMA.EHR.Recurit.Exam.Service.Core;
|
||||
using BMA.EHR.Recurit.Exam.Service.Data;
|
||||
using BMA.EHR.Recurit.Exam.Service.Models;
|
||||
|
|
@ -87,8 +88,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
LastName = x.LastName,
|
||||
Nationality = x.Nationality,
|
||||
DateOfBirth = x.DateOfBirth,
|
||||
Relationship = x.RelationshipName,
|
||||
RelationshipId = x.RelationshipId != null ? x.RelationshipId.ToString() : null,
|
||||
Religion = x.ReligionName,
|
||||
ReligionId = x.ReligionId != null ? x.ReligionId.ToString() : null,
|
||||
CitizenProvince = x.CitizenProvinceName,
|
||||
CitizenProvinceId = x.CitizenProvinceId != null ? x.CitizenProvinceId.ToString() : null,
|
||||
CitizenDistrict = x.CitizenDistrictName,
|
||||
|
|
@ -114,8 +115,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
LastName = x.LastName,
|
||||
Nationality = x.Nationality,
|
||||
DateOfBirth = x.DateOfBirth,
|
||||
Relationship = x.RelationshipName,
|
||||
RelationshipId = x.RelationshipId != null ? x.RelationshipId.ToString() : null,
|
||||
Religion = x.ReligionName,
|
||||
ReligionId = x.ReligionId != null ? x.ReligionId.ToString() : null,
|
||||
CitizenProvince = x.CitizenProvinceName,
|
||||
CitizenProvinceId = x.CitizenProvinceId != null ? x.CitizenProvinceId.ToString() : null,
|
||||
CitizenDistrict = x.CitizenDistrictName,
|
||||
|
|
@ -294,12 +295,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.PeriodExam == exam && x.UserId == UserId && x.PositionExam == position)
|
||||
.Select(x => new CandidateOccupationResponseItem
|
||||
{
|
||||
OccupationType = x.OccupationType,
|
||||
OccupationCompany = x.OccupationCompany,
|
||||
OccupationDepartment = x.OccupationDepartment,
|
||||
OccupationEmail = x.OccupationEmail,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
OccupationOrg = x.OccupationOrg,
|
||||
OccupationPile = x.OccupationPile,
|
||||
OccupationGroup = x.OccupationGroup,
|
||||
OccupationSalary = x.OccupationSalary,
|
||||
OccupationPosition = x.OccupationPosition,
|
||||
OccupationPositionType = x.OccupationPositionType,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
|
@ -309,12 +311,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.PeriodExam == exam && x.UserId == UserId)
|
||||
.Select(x => new CandidateOccupationResponseItem
|
||||
{
|
||||
OccupationType = x.OccupationType,
|
||||
OccupationCompany = x.OccupationCompany,
|
||||
OccupationDepartment = x.OccupationDepartment,
|
||||
OccupationEmail = x.OccupationEmail,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
OccupationOrg = x.OccupationOrg,
|
||||
OccupationPile = x.OccupationPile,
|
||||
OccupationGroup = x.OccupationGroup,
|
||||
OccupationSalary = x.OccupationSalary,
|
||||
OccupationPosition = x.OccupationPosition,
|
||||
OccupationPositionType = x.OccupationPositionType,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
|
@ -353,7 +356,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Education?>> GetsAsyncEducation(string examId, string positionId)
|
||||
public async Task<Education?> GetsAsyncEducation(string examId, string positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
|
|
@ -382,8 +385,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
|
||||
return await _context.Educations.AsQueryable()
|
||||
.Where(x => x.Candidate == candidate)
|
||||
.OrderBy(d => d.DurationStart)
|
||||
.ToListAsync();
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<FileListResponse?>> GetsAsyncFileUpload(string examId, string positionId)
|
||||
|
|
@ -574,12 +576,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
return candidate.PaymentImg == null ? "" : candidate.PaymentImg.Detail.ToString();
|
||||
}
|
||||
|
||||
public async Task<RequestStatusRegistry> GetsAsyncRegisterExam(string examId, string positionId)
|
||||
public async Task<RequestStatusRegistry> GetsAsyncRegisterExam(Guid examId, Guid positionId)
|
||||
{
|
||||
var exam = await _context.PeriodExams.AsQueryable()
|
||||
.Where(p => p.CheckDisability == false)
|
||||
.Include(x => x.BankExam)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(examId));
|
||||
.FirstOrDefaultAsync(x => x.Id == examId);
|
||||
|
||||
if (exam == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
|
@ -588,9 +590,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.FirstOrDefaultAsync(x => x.PeriodExam == exam && x.UserId == UserId);
|
||||
|
||||
var position = await _context.PositionExams.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(positionId) && x.PeriodExam == exam);
|
||||
.FirstOrDefaultAsync(x => x.Id == positionId);
|
||||
|
||||
if (positionId != "00000000-0000-0000-0000-000000000000")
|
||||
if (positionId != Guid.Parse("00000000-0000-0000-0000-000000000000"))
|
||||
{
|
||||
// var position = await _context.PositionExams.AsQueryable()
|
||||
// .FirstOrDefaultAsync(x => x.Id == Guid.Parse(positionId) && x.PeriodExam == exam);
|
||||
|
|
@ -613,6 +615,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
PositionExam = candidatePosition?.PositionExam,
|
||||
Bank = exam.BankExam.Count() > 0,
|
||||
Payment = exam.Fee > 0,
|
||||
EditorCondition = exam.EditorCondition,
|
||||
EditorConfirm = exam.EditorConfirm,
|
||||
Position = candidatePosition == null ? false : true
|
||||
};
|
||||
}
|
||||
|
|
@ -673,7 +677,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
var candidateId = await CreateAsyncCandidate(examId, positionId);
|
||||
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
var candidate = await _context.Candidates
|
||||
.AsQueryable()
|
||||
.Include(x => x.Educations)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||
|
||||
if (candidate == null)
|
||||
|
|
@ -691,40 +697,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.PrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.RelationshipId != null)
|
||||
if (updated.ReligionId != null)
|
||||
{
|
||||
var relationship = await _contextMetadata.Relationships.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.RelationshipId));
|
||||
var religion = await _contextMetadata.Religions.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.ReligionId));
|
||||
|
||||
if (relationship == null)
|
||||
throw new Exception(GlobalMessages.RelationshipNotFound);
|
||||
if (religion == null)
|
||||
throw new Exception(GlobalMessages.ReligionNotFound);
|
||||
|
||||
candidate.RelationshipId = relationship.Id;
|
||||
candidate.RelationshipName = relationship.Name;
|
||||
}
|
||||
|
||||
if (updated.CitizenProvinceId != null)
|
||||
{
|
||||
var citizenProvince = await _contextMetadata.Provinces.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.CitizenProvinceId));
|
||||
|
||||
if (citizenProvince == null)
|
||||
throw new Exception(GlobalMessages.ProvinceNotFound);
|
||||
|
||||
candidate.CitizenProvinceId = citizenProvince.Id;
|
||||
candidate.CitizenProvinceName = citizenProvince.Name;
|
||||
}
|
||||
|
||||
if (updated.CitizenDistrictId != null)
|
||||
{
|
||||
var citizenDistrict = await _contextMetadata.Districts.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.CitizenDistrictId));
|
||||
|
||||
if (citizenDistrict == null)
|
||||
throw new Exception(GlobalMessages.DistrictNotFound);
|
||||
|
||||
candidate.CitizenDistrictId = citizenDistrict.Id;
|
||||
candidate.CitizenDistrictName = citizenDistrict.Name;
|
||||
candidate.ReligionId = religion.Id;
|
||||
candidate.ReligionName = religion.Name;
|
||||
}
|
||||
|
||||
if (updated.RegistProvinceId != null)
|
||||
|
|
@ -801,49 +783,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.CurrentZipCode = currentSubDistrict.ZipCode;
|
||||
}
|
||||
|
||||
if (updated.MarryPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.MarryPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.MarryPrefixId = prefix.Id;
|
||||
candidate.MarryPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.FatherPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.FatherPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.FatherPrefixId = prefix.Id;
|
||||
candidate.FatherPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.MotherPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.MotherPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.MotherPrefixId = prefix.Id;
|
||||
candidate.MotherPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
candidate.FirstName = updated.FirstName;
|
||||
candidate.LastName = updated.LastName;
|
||||
candidate.Nationality = updated.Nationality;
|
||||
candidate.DateOfBirth = updated.DateOfBirth;
|
||||
candidate.Email = updated.Email;
|
||||
candidate.CitizenId = updated.CitizenId;
|
||||
candidate.CitizenDate = updated.CitizenDate;
|
||||
candidate.Telephone = updated.Telephone;
|
||||
candidate.MobilePhone = updated.MobilePhone;
|
||||
candidate.Knowledge = updated.Knowledge;
|
||||
|
|
@ -852,33 +797,74 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.RegistSame = updated.RegistSame == null ? null : updated.RegistSame;
|
||||
candidate.CurrentAddress = updated.CurrentAddress;
|
||||
|
||||
candidate.Marry = updated.Marry == null ? null : updated.Marry;
|
||||
candidate.MarryFirstName = updated.MarryFirstName;
|
||||
candidate.MarryLastName = updated.MarryLastName;
|
||||
candidate.MarryOccupation = updated.MarryOccupation;
|
||||
candidate.MarryNationality = updated.MarryNationality;
|
||||
candidate.FatherFirstName = updated.FatherFirstName;
|
||||
candidate.FatherLastName = updated.FatherLastName;
|
||||
candidate.FatherOccupation = updated.FatherOccupation;
|
||||
candidate.FatherNationality = updated.FatherNationality;
|
||||
candidate.MotherFirstName = updated.MotherFirstName;
|
||||
candidate.MotherLastName = updated.MotherLastName;
|
||||
candidate.MotherOccupation = updated.MotherOccupation;
|
||||
candidate.MotherNationality = updated.MotherNationality;
|
||||
|
||||
candidate.OccupationType = updated.OccupationType;
|
||||
candidate.OccupationCompany = updated.OccupationCompany;
|
||||
candidate.OccupationDepartment = updated.OccupationDepartment;
|
||||
candidate.OccupationEmail = updated.OccupationEmail;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
candidate.OccupationOrg = updated.OccupationOrg;
|
||||
candidate.OccupationPile = updated.OccupationPile;
|
||||
candidate.OccupationGroup = updated.OccupationGroup;
|
||||
candidate.OccupationSalary = updated.OccupationSalary;
|
||||
candidate.OccupationPosition = updated.OccupationPosition;
|
||||
candidate.OccupationPositionType = updated.OccupationPositionType;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
|
||||
var educationLevelExam = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelExamId);
|
||||
|
||||
if (educationLevelExam == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
|
||||
var educationLevelHigh = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelHighId);
|
||||
|
||||
if (educationLevelHigh == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
if (candidate.Educations.FirstOrDefault() == null)
|
||||
{
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelExamId = educationLevelExam.Id,
|
||||
EducationLevelExamName = educationLevelExam.Name,
|
||||
EducationName = updated.EducationName,
|
||||
EducationMajor = updated.EducationMajor,
|
||||
EducationLocation = updated.EducationLocation,
|
||||
EducationType = updated.EducationType,
|
||||
EducationEndDate = updated.EducationEndDate,
|
||||
EducationScores = updated.EducationScores,
|
||||
EducationLevelHighId = educationLevelHigh.Id,
|
||||
EducationLevelHighName = educationLevelHigh.Name,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
await _context.Educations.AddAsync(education);
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamId = educationLevelExam.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamName = educationLevelExam.Name;
|
||||
candidate.Educations.FirstOrDefault().EducationName = updated.EducationName;
|
||||
candidate.Educations.FirstOrDefault().EducationMajor = updated.EducationMajor;
|
||||
candidate.Educations.FirstOrDefault().EducationLocation = updated.EducationLocation;
|
||||
candidate.Educations.FirstOrDefault().EducationType = updated.EducationType;
|
||||
candidate.Educations.FirstOrDefault().EducationEndDate = updated.EducationEndDate;
|
||||
candidate.Educations.FirstOrDefault().EducationScores = updated.EducationScores;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighId = educationLevelHigh.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighName = educationLevelHigh.Name;
|
||||
candidate.Educations.FirstOrDefault().LastUpdatedAt = DateTime.Now;
|
||||
candidate.Educations.FirstOrDefault().LastUpdateUserId = UserId ?? "";
|
||||
candidate.Educations.FirstOrDefault().LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task UpdateAdminAsync(string candidateId, CandidateResponseItem updated)
|
||||
{
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
var candidate = await _context.Candidates
|
||||
.AsQueryable()
|
||||
.Include(x => x.Educations)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||
|
||||
if (candidate == null)
|
||||
|
|
@ -896,40 +882,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.PrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.RelationshipId != null)
|
||||
if (updated.ReligionId != null)
|
||||
{
|
||||
var relationship = await _contextMetadata.Relationships.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.RelationshipId));
|
||||
var religion = await _contextMetadata.Religions.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.ReligionId));
|
||||
|
||||
if (relationship == null)
|
||||
throw new Exception(GlobalMessages.RelationshipNotFound);
|
||||
if (religion == null)
|
||||
throw new Exception(GlobalMessages.ReligionNotFound);
|
||||
|
||||
candidate.RelationshipId = relationship.Id;
|
||||
candidate.RelationshipName = relationship.Name;
|
||||
}
|
||||
|
||||
if (updated.CitizenProvinceId != null)
|
||||
{
|
||||
var citizenProvince = await _contextMetadata.Provinces.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.CitizenProvinceId));
|
||||
|
||||
if (citizenProvince == null)
|
||||
throw new Exception(GlobalMessages.ProvinceNotFound);
|
||||
|
||||
candidate.CitizenProvinceId = citizenProvince.Id;
|
||||
candidate.CitizenProvinceName = citizenProvince.Name;
|
||||
}
|
||||
|
||||
if (updated.CitizenDistrictId != null)
|
||||
{
|
||||
var citizenDistrict = await _contextMetadata.Districts.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.CitizenDistrictId));
|
||||
|
||||
if (citizenDistrict == null)
|
||||
throw new Exception(GlobalMessages.DistrictNotFound);
|
||||
|
||||
candidate.CitizenDistrictId = citizenDistrict.Id;
|
||||
candidate.CitizenDistrictName = citizenDistrict.Name;
|
||||
candidate.ReligionId = religion.Id;
|
||||
candidate.ReligionName = religion.Name;
|
||||
}
|
||||
|
||||
if (updated.RegistProvinceId != null)
|
||||
|
|
@ -1006,49 +968,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.CurrentZipCode = currentSubDistrict.ZipCode;
|
||||
}
|
||||
|
||||
if (updated.MarryPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.MarryPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.MarryPrefixId = prefix.Id;
|
||||
candidate.MarryPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.FatherPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.FatherPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.FatherPrefixId = prefix.Id;
|
||||
candidate.FatherPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
if (updated.MotherPrefixId != null)
|
||||
{
|
||||
var prefix = await _contextMetadata.Prefixes.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.MotherPrefixId));
|
||||
|
||||
if (prefix == null)
|
||||
throw new Exception(GlobalMessages.PrefixNotFound);
|
||||
|
||||
candidate.MotherPrefixId = prefix.Id;
|
||||
candidate.MotherPrefixName = prefix.Name;
|
||||
}
|
||||
|
||||
candidate.FirstName = updated.FirstName;
|
||||
candidate.LastName = updated.LastName;
|
||||
candidate.Nationality = updated.Nationality;
|
||||
candidate.DateOfBirth = updated.DateOfBirth;
|
||||
candidate.Email = updated.Email;
|
||||
candidate.CitizenId = updated.CitizenId;
|
||||
candidate.CitizenDate = updated.CitizenDate;
|
||||
candidate.Telephone = updated.Telephone;
|
||||
candidate.MobilePhone = updated.MobilePhone;
|
||||
candidate.Knowledge = updated.Knowledge;
|
||||
|
|
@ -1057,27 +982,65 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
candidate.RegistSame = updated.RegistSame == null ? null : updated.RegistSame;
|
||||
candidate.CurrentAddress = updated.CurrentAddress;
|
||||
|
||||
candidate.Marry = updated.Marry == null ? null : updated.Marry;
|
||||
candidate.MarryFirstName = updated.MarryFirstName;
|
||||
candidate.MarryLastName = updated.MarryLastName;
|
||||
candidate.MarryOccupation = updated.MarryOccupation;
|
||||
candidate.MarryNationality = updated.MarryNationality;
|
||||
candidate.FatherFirstName = updated.FatherFirstName;
|
||||
candidate.FatherLastName = updated.FatherLastName;
|
||||
candidate.FatherOccupation = updated.FatherOccupation;
|
||||
candidate.FatherNationality = updated.FatherNationality;
|
||||
candidate.MotherFirstName = updated.MotherFirstName;
|
||||
candidate.MotherLastName = updated.MotherLastName;
|
||||
candidate.MotherOccupation = updated.MotherOccupation;
|
||||
candidate.MotherNationality = updated.MotherNationality;
|
||||
|
||||
candidate.OccupationType = updated.OccupationType;
|
||||
candidate.OccupationCompany = updated.OccupationCompany;
|
||||
candidate.OccupationDepartment = updated.OccupationDepartment;
|
||||
candidate.OccupationEmail = updated.OccupationEmail;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
candidate.OccupationOrg = updated.OccupationOrg;
|
||||
candidate.OccupationPile = updated.OccupationPile;
|
||||
candidate.OccupationGroup = updated.OccupationGroup;
|
||||
candidate.OccupationSalary = updated.OccupationSalary;
|
||||
candidate.OccupationPosition = updated.OccupationPosition;
|
||||
candidate.OccupationPositionType = updated.OccupationPositionType;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
|
||||
var educationLevelExam = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelExamId);
|
||||
|
||||
if (educationLevelExam == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
|
||||
var educationLevelHigh = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelHighId);
|
||||
|
||||
if (educationLevelHigh == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
if (candidate.Educations.FirstOrDefault() == null)
|
||||
{
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelExamId = educationLevelExam.Id,
|
||||
EducationLevelExamName = educationLevelExam.Name,
|
||||
EducationName = updated.EducationName,
|
||||
EducationMajor = updated.EducationMajor,
|
||||
EducationLocation = updated.EducationLocation,
|
||||
EducationType = updated.EducationType,
|
||||
EducationEndDate = updated.EducationEndDate,
|
||||
EducationScores = updated.EducationScores,
|
||||
EducationLevelHighId = educationLevelHigh.Id,
|
||||
EducationLevelHighName = educationLevelHigh.Name,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
await _context.Educations.AddAsync(education);
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamId = educationLevelExam.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamName = educationLevelExam.Name;
|
||||
candidate.Educations.FirstOrDefault().EducationName = updated.EducationName;
|
||||
candidate.Educations.FirstOrDefault().EducationMajor = updated.EducationMajor;
|
||||
candidate.Educations.FirstOrDefault().EducationLocation = updated.EducationLocation;
|
||||
candidate.Educations.FirstOrDefault().EducationType = updated.EducationType;
|
||||
candidate.Educations.FirstOrDefault().EducationEndDate = updated.EducationEndDate;
|
||||
candidate.Educations.FirstOrDefault().EducationScores = updated.EducationScores;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighId = educationLevelHigh.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighName = educationLevelHigh.Name;
|
||||
candidate.Educations.FirstOrDefault().LastUpdatedAt = DateTime.Now;
|
||||
candidate.Educations.FirstOrDefault().LastUpdateUserId = UserId ?? "";
|
||||
candidate.Educations.FirstOrDefault().LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
|
@ -1365,12 +1328,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
if (candidate == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
||||
candidate.OccupationType = updated.OccupationType;
|
||||
candidate.OccupationCompany = updated.OccupationCompany;
|
||||
candidate.OccupationDepartment = updated.OccupationDepartment;
|
||||
candidate.OccupationEmail = updated.OccupationEmail;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
candidate.OccupationOrg = updated.OccupationOrg;
|
||||
candidate.OccupationPile = updated.OccupationPile;
|
||||
candidate.OccupationGroup = updated.OccupationGroup;
|
||||
candidate.OccupationSalary = updated.OccupationSalary;
|
||||
candidate.OccupationPosition = updated.OccupationPosition;
|
||||
candidate.OccupationPositionType = updated.OccupationPositionType;
|
||||
candidate.OccupationTelephone = updated.OccupationTelephone;
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
|
@ -1475,12 +1439,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
var career = new Career
|
||||
{
|
||||
Candidate = candidate,
|
||||
Name = updated.Name,
|
||||
Position = updated.Position,
|
||||
Salary = updated.Salary,
|
||||
Group = updated.Group,
|
||||
Pile = updated.Pile,
|
||||
Org = updated.Org,
|
||||
DurationStart = updated.DurationStart,
|
||||
DurationEnd = updated.DurationEnd,
|
||||
Reason = updated.Reason,
|
||||
RangeDate = updated.RangeDate,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
|
|
@ -1501,12 +1466,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
var career = new Career
|
||||
{
|
||||
Candidate = candidate,
|
||||
Name = updated.Name,
|
||||
Position = updated.Position,
|
||||
Salary = updated.Salary,
|
||||
Group = updated.Group,
|
||||
Pile = updated.Pile,
|
||||
Org = updated.Org,
|
||||
DurationStart = updated.DurationStart,
|
||||
DurationEnd = updated.DurationEnd,
|
||||
Reason = updated.Reason,
|
||||
RangeDate = updated.RangeDate,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
|
|
@ -1524,33 +1490,64 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
var candidateId = await CreateAsyncCandidate(examId, positionId);
|
||||
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.Include(x => x.Educations)
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||
|
||||
var educationLevel = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.EducationLevelId));
|
||||
if (candidate == null)
|
||||
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||
|
||||
if (educationLevel == null)
|
||||
var educationLevelExam = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelExamId);
|
||||
|
||||
if (educationLevelExam == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelId = educationLevel.Id,
|
||||
EducationLevelName = educationLevel.Name,
|
||||
Major = updated.Major,
|
||||
Scores = updated.Scores,
|
||||
Name = updated.Name,
|
||||
DurationStart = updated.DurationStart,
|
||||
DurationEnd = updated.DurationEnd,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
var educationLevelHigh = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelHighId);
|
||||
|
||||
if (educationLevelHigh == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
if (candidate.Educations.FirstOrDefault() == null)
|
||||
{
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelExamId = educationLevelExam.Id,
|
||||
EducationLevelExamName = educationLevelExam.Name,
|
||||
EducationName = updated.EducationName,
|
||||
EducationMajor = updated.EducationMajor,
|
||||
EducationLocation = updated.EducationLocation,
|
||||
EducationType = updated.EducationType,
|
||||
EducationEndDate = updated.EducationEndDate,
|
||||
EducationScores = updated.EducationScores,
|
||||
EducationLevelHighId = educationLevelHigh.Id,
|
||||
EducationLevelHighName = educationLevelHigh.Name,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
await _context.Educations.AddAsync(education);
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamId = educationLevelExam.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamName = educationLevelExam.Name;
|
||||
candidate.Educations.FirstOrDefault().EducationName = updated.EducationName;
|
||||
candidate.Educations.FirstOrDefault().EducationMajor = updated.EducationMajor;
|
||||
candidate.Educations.FirstOrDefault().EducationLocation = updated.EducationLocation;
|
||||
candidate.Educations.FirstOrDefault().EducationType = updated.EducationType;
|
||||
candidate.Educations.FirstOrDefault().EducationEndDate = updated.EducationEndDate;
|
||||
candidate.Educations.FirstOrDefault().EducationScores = updated.EducationScores;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighId = educationLevelHigh.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighName = educationLevelHigh.Name;
|
||||
candidate.Educations.FirstOrDefault().LastUpdatedAt = DateTime.Now;
|
||||
candidate.Educations.FirstOrDefault().LastUpdateUserId = UserId ?? "";
|
||||
candidate.Educations.FirstOrDefault().LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
|
||||
await _context.Educations.AddAsync(education);
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
|
@ -1559,31 +1556,60 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||
|
||||
var educationLevel = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.EducationLevelId));
|
||||
if (candidate == null)
|
||||
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||
|
||||
if (educationLevel == null)
|
||||
var educationLevelExam = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelExamId);
|
||||
|
||||
if (educationLevelExam == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelId = educationLevel.Id,
|
||||
EducationLevelName = educationLevel.Name,
|
||||
Major = updated.Major,
|
||||
Scores = updated.Scores,
|
||||
Name = updated.Name,
|
||||
DurationStart = updated.DurationStart,
|
||||
DurationEnd = updated.DurationEnd,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
var educationLevelHigh = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == updated.EducationLevelHighId);
|
||||
|
||||
await _context.Educations.AddAsync(education);
|
||||
if (educationLevelHigh == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
if (candidate.Educations.FirstOrDefault() == null)
|
||||
{
|
||||
var education = new Education
|
||||
{
|
||||
Candidate = candidate,
|
||||
EducationLevelExamId = educationLevelExam.Id,
|
||||
EducationLevelExamName = educationLevelExam.Name,
|
||||
EducationName = updated.EducationName,
|
||||
EducationMajor = updated.EducationMajor,
|
||||
EducationLocation = updated.EducationLocation,
|
||||
EducationType = updated.EducationType,
|
||||
EducationEndDate = updated.EducationEndDate,
|
||||
EducationScores = updated.EducationScores,
|
||||
EducationLevelHighId = educationLevelHigh.Id,
|
||||
EducationLevelHighName = educationLevelHigh.Name,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
CreatedFullName = FullName ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
LastUpdateUserId = UserId ?? "",
|
||||
LastUpdateFullName = FullName ?? "",
|
||||
};
|
||||
await _context.Educations.AddAsync(education);
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamId = educationLevelExam.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelExamName = educationLevelExam.Name;
|
||||
candidate.Educations.FirstOrDefault().EducationName = updated.EducationName;
|
||||
candidate.Educations.FirstOrDefault().EducationMajor = updated.EducationMajor;
|
||||
candidate.Educations.FirstOrDefault().EducationLocation = updated.EducationLocation;
|
||||
candidate.Educations.FirstOrDefault().EducationType = updated.EducationType;
|
||||
candidate.Educations.FirstOrDefault().EducationEndDate = updated.EducationEndDate;
|
||||
candidate.Educations.FirstOrDefault().EducationScores = updated.EducationScores;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighId = educationLevelHigh.Id;
|
||||
candidate.Educations.FirstOrDefault().EducationLevelHighName = educationLevelHigh.Name;
|
||||
candidate.Educations.FirstOrDefault().LastUpdatedAt = DateTime.Now;
|
||||
candidate.Educations.FirstOrDefault().LastUpdateUserId = UserId ?? "";
|
||||
candidate.Educations.FirstOrDefault().LastUpdateFullName = FullName ?? "";
|
||||
}
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
|
@ -1595,12 +1621,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
if (career == null)
|
||||
throw new Exception(GlobalMessages.CareerNotFound);
|
||||
|
||||
career.Name = updated.Name;
|
||||
career.Position = updated.Position;
|
||||
career.Salary = updated.Salary;
|
||||
career.Group = updated.Group;
|
||||
career.Pile = updated.Pile;
|
||||
career.Org = updated.Org;
|
||||
career.DurationStart = updated.DurationStart;
|
||||
career.DurationEnd = updated.DurationEnd;
|
||||
career.Reason = updated.Reason;
|
||||
career.RangeDate = updated.RangeDate;
|
||||
career.LastUpdatedAt = DateTime.Now;
|
||||
career.LastUpdateUserId = UserId ?? "";
|
||||
career.LastUpdateFullName = FullName ?? "";
|
||||
|
|
@ -1621,33 +1648,33 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task UpdateAsyncEducation(string educationId, CandidateEducationResponseItem updated)
|
||||
{
|
||||
var education = await _context.Educations.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(educationId));
|
||||
// public async Task UpdateAsyncEducation(string educationId, CandidateEducationResponseItem updated)
|
||||
// {
|
||||
// var education = await _context.Educations.AsQueryable()
|
||||
// .FirstOrDefaultAsync(x => x.Id == Guid.Parse(educationId));
|
||||
|
||||
if (education == null)
|
||||
throw new Exception(GlobalMessages.EducationNotFound);
|
||||
// if (education == null)
|
||||
// throw new Exception(GlobalMessages.EducationNotFound);
|
||||
|
||||
var educationLevel = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.EducationLevelId));
|
||||
// var educationLevel = await _contextMetadata.EducationLevels.AsQueryable()
|
||||
// .FirstOrDefaultAsync(x => x.Id == Guid.Parse(updated.EducationLevelId));
|
||||
|
||||
if (educationLevel == null)
|
||||
throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
// if (educationLevel == null)
|
||||
// throw new Exception(GlobalMessages.EducationLevelNotFound);
|
||||
|
||||
education.EducationLevelId = educationLevel.Id;
|
||||
education.EducationLevelName = educationLevel.Name;
|
||||
education.Major = updated.Major;
|
||||
education.Scores = updated.Scores;
|
||||
education.Name = updated.Name;
|
||||
education.DurationStart = updated.DurationStart;
|
||||
education.DurationEnd = updated.DurationEnd;
|
||||
education.LastUpdatedAt = DateTime.Now;
|
||||
education.LastUpdateUserId = UserId ?? "";
|
||||
education.LastUpdateFullName = FullName ?? "";
|
||||
// education.EducationLevelId = educationLevel.Id;
|
||||
// education.EducationLevelName = educationLevel.Name;
|
||||
// education.Major = updated.Major;
|
||||
// education.Scores = updated.Scores;
|
||||
// education.Name = updated.Name;
|
||||
// education.DurationStart = updated.DurationStart;
|
||||
// education.DurationEnd = updated.DurationEnd;
|
||||
// education.LastUpdatedAt = DateTime.Now;
|
||||
// education.LastUpdateUserId = UserId ?? "";
|
||||
// education.LastUpdateFullName = FullName ?? "";
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
// await _context.SaveChangesAsync();
|
||||
// }
|
||||
|
||||
public async Task DeleteAsyncEducation(string educationId)
|
||||
{
|
||||
|
|
@ -1702,6 +1729,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
if (exam == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
||||
if (exam.RegisterStartDate != null && exam.RegisterStartDate.Value.Date < DateTime.Now.Date)
|
||||
throw new Exception("ยังไม่ถึงช่วงเวลาสมัครสอบ");
|
||||
|
||||
if (exam.RegisterEndDate != null && exam.RegisterEndDate.Value.Date > DateTime.Now.Date)
|
||||
throw new Exception("หมดเวลาช่วงสมัครสอบ");
|
||||
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.PeriodExam == exam && x.UserId == UserId);
|
||||
|
||||
|
|
@ -1887,6 +1920,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.FirstOrDefaultAsync();
|
||||
|
||||
var positionName = "";
|
||||
var positionLevelName = "";
|
||||
var highDegree = "";
|
||||
if (positionId != "00000000-0000-0000-0000-000000000000")
|
||||
{
|
||||
|
|
@ -1900,7 +1934,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.PeriodExam == exam && x.UserId == UserId && x.PositionExam == position)
|
||||
.FirstOrDefaultAsync();
|
||||
positionName = position.PositionName;
|
||||
highDegree = position.HighDegree == true ? "ปริญญาขึ้นไป" : "ต่ำกว่าปริญญาตรี";
|
||||
positionLevelName = position.PositionLevelName;
|
||||
highDegree = position.HighDegree == true ? "ปริญญาบัตรขึ้นไป" : "ต่ำกว่าปริญญาบัตร";
|
||||
}
|
||||
|
||||
if (candidate == null)
|
||||
|
|
@ -1940,6 +1975,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
AnnouncementDate = exam.AnnouncementDate?.AddYears(2),
|
||||
Id = candidate.Id,
|
||||
Position = positionName,
|
||||
PositionLevel = positionLevelName,
|
||||
HighDegree = highDegree,
|
||||
};
|
||||
}
|
||||
|
|
@ -1955,11 +1991,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
throw new Exception(GlobalMessages.CandidateNotFound);
|
||||
|
||||
var positionName = "";
|
||||
var positionLevelName = "";
|
||||
var highDegree = "";
|
||||
if (candidate.PositionExam != null)
|
||||
{
|
||||
positionName = candidate.PositionExam.PositionName;
|
||||
highDegree = candidate.PositionExam.HighDegree == true ? "ปริญญาขึ้นไป" : "ต่ำกว่าปริญญาตรี";
|
||||
positionLevelName = candidate.PositionExam.PositionLevelName;
|
||||
highDegree = candidate.PositionExam.HighDegree == true ? "ปริญญาบัตรขึ้นไป" : "ต่ำกว่าปริญญาบัตร";
|
||||
}
|
||||
|
||||
return new RequestCardCandidate
|
||||
|
|
@ -1996,6 +2034,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
AnnouncementDate = candidate.PeriodExam?.AnnouncementDate?.AddYears(2),
|
||||
Id = candidate.Id,
|
||||
Position = positionName,
|
||||
PositionLevel = positionLevelName,
|
||||
HighDegree = highDegree,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,11 +78,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
switch (status.Trim().ToUpper())
|
||||
{
|
||||
case "OFFICIAL": return "ข้าราชการกรุงเทพมหานคร";
|
||||
case "PERSONNEL": return "บุคลากรกรุงเทพมหานคร";
|
||||
case "OFFICIALSOTHER": return "ข้าราชการประเภทอื่น";
|
||||
case "EMPLOYEE": return "ลูกจ้าง/พนักงานราชการของส่วนราชการอื่น";
|
||||
case "OTHER": return "อื่นๆ";
|
||||
case "prem": return "ลูกจ้างประจำ";
|
||||
case "temp": return "ลูกจ้างชั่วคราว";
|
||||
case "other": return "ผู้ปฏิบัติงานอื่นในกรุงเทพมหานคร";
|
||||
default: return status;
|
||||
}
|
||||
}
|
||||
|
|
@ -135,6 +133,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
CheckDisability = x.CheckDisability,
|
||||
CheckDocument = x.CheckDocument,
|
||||
Detail = x.Detail,
|
||||
EditorCondition = x.EditorCondition,
|
||||
EditorConfirm = x.EditorConfirm,
|
||||
Fee = x.Fee,
|
||||
Id = x.Id,
|
||||
IsActive = x.IsActive,
|
||||
|
|
@ -197,6 +197,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
CheckDisability = x.CheckDisability,
|
||||
CheckDocument = x.CheckDocument,
|
||||
Detail = x.Detail,
|
||||
EditorCondition = x.EditorCondition,
|
||||
EditorConfirm = x.EditorConfirm,
|
||||
Fee = x.Fee,
|
||||
Id = x.Id,
|
||||
IsActive = x.IsActive,
|
||||
|
|
@ -230,6 +232,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
TypeName = b.TypeName,
|
||||
PositionId = b.PositionId,
|
||||
PositionName = b.PositionName,
|
||||
PositionLevelId = b.PositionLevelId,
|
||||
PositionLevelName = b.PositionLevelName,
|
||||
HighDegree = b.HighDegree,
|
||||
}).ToList(),
|
||||
Documents = x.PeriodExamDocuments.OrderBy(o => o.CreatedAt).Select(b => new FileListResponse
|
||||
|
|
@ -300,6 +304,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
if (periodExam == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
||||
var positionExam = await _context.PositionExams.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(positionId));
|
||||
|
||||
if (positionExam == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
||||
if (positionId != "00000000-0000-0000-0000-000000000000")
|
||||
{
|
||||
return new RequestPositionName
|
||||
|
|
@ -307,7 +317,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Name = periodExam.Name,
|
||||
Round = periodExam.Round,
|
||||
Year = periodExam.Year,
|
||||
Posiiton = periodExam.PositionExam.FirstOrDefault(x => x.Id == Guid.Parse(positionId) && x.PeriodExam == periodExam),
|
||||
Position = positionExam.PositionName,
|
||||
PositionLevel = positionExam.PositionLevelName,
|
||||
};
|
||||
}
|
||||
else
|
||||
|
|
@ -317,7 +328,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Name = periodExam.Name,
|
||||
Round = periodExam.Round,
|
||||
Year = periodExam.Year,
|
||||
Posiiton = null,
|
||||
Position = null,
|
||||
PositionLevel = null,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -347,6 +359,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
AnnouncementExam = inserted.AnnouncementExam,
|
||||
Category = inserted.Category,
|
||||
Detail = inserted.Detail,
|
||||
EditorCondition = inserted.EditorCondition,
|
||||
EditorConfirm = inserted.EditorConfirm,
|
||||
Note = inserted.Note,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
|
|
@ -384,6 +398,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
PeriodExam = periodExam,
|
||||
PositionId = position.PositionId,
|
||||
PositionName = position.PositionName,
|
||||
PositionLevelId = position.PositionLevelId,
|
||||
PositionLevelName = position.PositionLevelName,
|
||||
HighDegree = position.HighDegree,
|
||||
TypeId = position.TypeId,
|
||||
TypeName = position.TypeName,
|
||||
|
|
@ -438,6 +454,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
// periodExam.AnnouncementExam = updated.AnnouncementExam;
|
||||
periodExam.Category = updated.Category;
|
||||
periodExam.Detail = updated.Detail;
|
||||
periodExam.EditorCondition = updated.EditorCondition;
|
||||
periodExam.EditorConfirm = updated.EditorConfirm;
|
||||
periodExam.Note = updated.Note;
|
||||
periodExam.LastUpdatedAt = DateTime.Now;
|
||||
periodExam.LastUpdateUserId = UserId ?? "";
|
||||
|
|
@ -508,6 +526,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
{
|
||||
position.PositionId = positionData.PositionId;
|
||||
position.PositionName = positionData.PositionName;
|
||||
position.PositionLevelId = positionData.PositionLevelId;
|
||||
position.PositionLevelName = positionData.PositionLevelName;
|
||||
position.HighDegree = positionData.HighDegree;
|
||||
position.TypeId = positionData.TypeId;
|
||||
position.TypeName = positionData.TypeName;
|
||||
|
|
@ -539,6 +559,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
PeriodExam = periodExam,
|
||||
PositionId = position.PositionId,
|
||||
PositionName = position.PositionName,
|
||||
PositionLevelId = position.PositionLevelId,
|
||||
PositionLevelName = position.PositionLevelName,
|
||||
HighDegree = position.HighDegree,
|
||||
TypeId = position.TypeId,
|
||||
TypeName = position.TypeName,
|
||||
|
|
@ -660,6 +682,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
if (status == "all")
|
||||
{
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.Include(x => x.PositionExam)
|
||||
.Include(x => x.ProfileImg)
|
||||
.OrderByDescending(d => d.CreatedAt)
|
||||
.Where(x => x.PeriodExam == periodExam && x.RegisterDate != null && x.Status != "register" && x.Status != "rejectRegister")
|
||||
|
|
@ -678,6 +701,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
else
|
||||
{
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.Include(x => x.PositionExam)
|
||||
.Include(x => x.ProfileImg)
|
||||
.OrderByDescending(d => d.CreatedAt)
|
||||
.Where(x => x.PeriodExam == periodExam && x.Status == status)
|
||||
|
|
@ -707,8 +731,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
LastName = x.LastName,
|
||||
Nationality = x.Nationality,
|
||||
DateOfBirth = x.DateOfBirth,
|
||||
Relationship = x.RelationshipName,
|
||||
RelationshipId = x.RelationshipId != null ? x.RelationshipId.ToString() : null,
|
||||
Religion = x.ReligionName,
|
||||
ReligionId = x.ReligionId != null ? x.ReligionId.ToString() : null,
|
||||
CitizenProvince = x.CitizenProvinceName,
|
||||
CitizenProvinceId = x.CitizenProvinceId != null ? x.CitizenProvinceId.ToString() : null,
|
||||
CitizenDistrict = x.CitizenDistrictName,
|
||||
|
|
@ -754,12 +778,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.Id == Guid.Parse(candidateId))
|
||||
.Select(x => new CandidateOccupationResponseItem
|
||||
{
|
||||
OccupationType = x.OccupationType,
|
||||
OccupationCompany = x.OccupationCompany,
|
||||
OccupationDepartment = x.OccupationDepartment,
|
||||
OccupationEmail = x.OccupationEmail,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
OccupationOrg = x.OccupationOrg,
|
||||
OccupationPile = x.OccupationPile,
|
||||
OccupationGroup = x.OccupationGroup,
|
||||
OccupationSalary = x.OccupationSalary,
|
||||
OccupationPosition = x.OccupationPosition,
|
||||
OccupationPositionType = x.OccupationPositionType,
|
||||
OccupationTelephone = x.OccupationTelephone,
|
||||
})
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
|
@ -820,12 +845,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Education?>> GetsAsyncEducation(string candidateId)
|
||||
public async Task<Education?> GetsAsyncEducation(string candidateId)
|
||||
{
|
||||
var candidate = await _context.Candidates.AsQueryable()
|
||||
.FirstOrDefaultAsync(x => x.Id == Guid.Parse(candidateId));
|
||||
|
||||
if (candidate == null)
|
||||
throw new Exception(GlobalMessages.ExamNotFound);
|
||||
|
||||
return await _context.Educations.AsQueryable()
|
||||
.Where(x => x.Candidate.Id == Guid.Parse(candidateId))
|
||||
.OrderBy(d => d.DurationStart)
|
||||
.ToListAsync();
|
||||
.Where(x => x.Candidate == candidate)
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Career?>> GetsAsyncCareer(string candidateId)
|
||||
|
|
@ -1319,7 +1349,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Nationality = c.Nationality,
|
||||
DateOfBirth = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.ToThaiShortDate(),
|
||||
Age = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.CalculateAgeStrV2(0, 0),
|
||||
RelationshipName = c.RelationshipName,
|
||||
ReligionName = c.ReligionName,
|
||||
Telephone = c.Telephone,
|
||||
MobilePhone = c.MobilePhone,
|
||||
Email = c.Email,
|
||||
|
|
@ -1334,14 +1364,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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,
|
||||
OccupationOrg = c.OccupationOrg,
|
||||
OccupationPile = c.OccupationPile,
|
||||
OccupationGroup = c.OccupationGroup,
|
||||
OccupationSalary = c.OccupationSalary,
|
||||
OccupationPosition = c.OccupationPosition,
|
||||
OccupationCompany = c.OccupationCompany,
|
||||
OccupationDepartment = c.OccupationDepartment,
|
||||
OccupationEmail = c.OccupationEmail,
|
||||
OccupationPositionType = c.OccupationPositionType,
|
||||
OccupationTelephone = c.OccupationTelephone,
|
||||
RegisterDate = c.RegisterDate,
|
||||
|
||||
|
|
@ -1384,7 +1412,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
summarySheet.Cells[1, 4].Value = "สัญชาติ";
|
||||
summarySheet.Cells[1, 5].Value = "วันเกิด";
|
||||
summarySheet.Cells[1, 6].Value = "อายุ";
|
||||
summarySheet.Cells[1, 7].Value = "สถานภาพ";
|
||||
summarySheet.Cells[1, 7].Value = "ศาสนา";
|
||||
summarySheet.Cells[1, 8].Value = "โทรศัพท์";
|
||||
summarySheet.Cells[1, 9].Value = "โทรศัพท์มือถือ";
|
||||
summarySheet.Cells[1, 10].Value = "อีเมล";
|
||||
|
|
@ -1399,46 +1427,54 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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 = "ผลการสอบ";
|
||||
summarySheet.Cells[1, 53].Value = "วันที่สมัคร";
|
||||
summarySheet.Cells[1, 54].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 = "ผลสอบภาค ข";
|
||||
summarySheet.Cells[1, 53].Value = "คะแนนเต็มภาค ค";
|
||||
summarySheet.Cells[1, 54].Value = "คะแนนภาค ค";
|
||||
summarySheet.Cells[1, 55].Value = "ผลสอบภาค ค";
|
||||
summarySheet.Cells[1, 56].Value = "ผลการสอบ";
|
||||
summarySheet.Cells[1, 57].Value = "วันที่สมัคร";
|
||||
summarySheet.Cells[1, 58].Value = "วันเและเวลาที่สมัคร";
|
||||
int row = 2;
|
||||
|
||||
foreach (var item in candidates)
|
||||
{
|
||||
var educations = await _context.Educations
|
||||
.AsQueryable()
|
||||
.OrderBy(x => x.DurationStart)
|
||||
.OrderBy(x => x.EducationEndDate)
|
||||
.Where(x => x.Candidate.Id == item.Id)
|
||||
.ToListAsync();
|
||||
|
||||
|
|
@ -1450,7 +1486,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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, 7].Value = item.ReligionName;
|
||||
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||
summarySheet.Cells[row, 10].Value = item.Email;
|
||||
|
|
@ -1465,36 +1501,39 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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 = item.OccupationType == null ? null : 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.PointTotalA;
|
||||
summarySheet.Cells[row, 47].Value = item.PointA;
|
||||
summarySheet.Cells[row, 48].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 49].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 50].Value = item.PointB;
|
||||
summarySheet.Cells[row, 51].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 52].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 53].Value = item.PointC;
|
||||
summarySheet.Cells[row, 54].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 55].Value = item.Pass;
|
||||
summarySheet.Cells[row, 56].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 57].Value = item.RegisterDate;
|
||||
|
||||
summarySheet.Cells[row, 22].Value = item.OccupationPosition;
|
||||
summarySheet.Cells[row, 23].Value = item.OccupationSalary;
|
||||
summarySheet.Cells[row, 24].Value = item.OccupationGroup;
|
||||
summarySheet.Cells[row, 25].Value = item.OccupationPile;
|
||||
summarySheet.Cells[row, 26].Value = item.OccupationOrg;
|
||||
summarySheet.Cells[row, 27].Value = item.OccupationPositionType == null ? null : GenerateStatusOccupation(item.OccupationPositionType);
|
||||
summarySheet.Cells[row, 28].Value = item.OccupationTelephone;
|
||||
|
||||
summarySheet.Cells[row, 29].Value = education.EducationLevelExamName;
|
||||
summarySheet.Cells[row, 30].Value = education.EducationName;
|
||||
summarySheet.Cells[row, 31].Value = education.EducationMajor;
|
||||
summarySheet.Cells[row, 32].Value = education.EducationLocation;
|
||||
summarySheet.Cells[row, 33].Value = education.EducationType;
|
||||
summarySheet.Cells[row, 34].Value = education.EducationEndDate == null ? "-" : education.EducationEndDate.Value.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 35].Value = education.EducationScores;
|
||||
summarySheet.Cells[row, 36].Value = education.EducationLevelHighName;
|
||||
|
||||
summarySheet.Cells[row, 44].Value = item.Number;
|
||||
summarySheet.Cells[row, 45].Value = item.ExamIdenNumber;
|
||||
summarySheet.Cells[row, 46].Value = item.SeatNumber;
|
||||
summarySheet.Cells[row, 47].Value = item.PointTotalA;
|
||||
summarySheet.Cells[row, 48].Value = item.PointA;
|
||||
summarySheet.Cells[row, 49].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 50].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 51].Value = item.PointB;
|
||||
summarySheet.Cells[row, 52].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 53].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 54].Value = item.PointC;
|
||||
summarySheet.Cells[row, 55].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 56].Value = item.Pass;
|
||||
summarySheet.Cells[row, 57].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 58].Value = item.RegisterDate;
|
||||
row++;
|
||||
}
|
||||
var careers = await _context.Careers
|
||||
|
|
@ -1511,7 +1550,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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, 7].Value = item.ReligionName;
|
||||
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||
summarySheet.Cells[row, 10].Value = item.Email;
|
||||
|
|
@ -1526,36 +1565,38 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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 = item.OccupationType == null ? null : 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.PointTotalA;
|
||||
summarySheet.Cells[row, 47].Value = item.PointA;
|
||||
summarySheet.Cells[row, 48].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 49].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 50].Value = item.PointB;
|
||||
summarySheet.Cells[row, 51].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 52].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 53].Value = item.PointC;
|
||||
summarySheet.Cells[row, 54].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 55].Value = item.Pass;
|
||||
summarySheet.Cells[row, 56].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 57].Value = item.RegisterDate;
|
||||
|
||||
summarySheet.Cells[row, 22].Value = item.OccupationPosition;
|
||||
summarySheet.Cells[row, 23].Value = item.OccupationSalary;
|
||||
summarySheet.Cells[row, 24].Value = item.OccupationGroup;
|
||||
summarySheet.Cells[row, 25].Value = item.OccupationPile;
|
||||
summarySheet.Cells[row, 26].Value = item.OccupationOrg;
|
||||
summarySheet.Cells[row, 27].Value = item.OccupationPositionType == null ? null : GenerateStatusOccupation(item.OccupationPositionType);
|
||||
summarySheet.Cells[row, 28].Value = item.OccupationTelephone;
|
||||
|
||||
summarySheet.Cells[row, 37].Value = career.Position;
|
||||
summarySheet.Cells[row, 38].Value = career.Group;
|
||||
summarySheet.Cells[row, 39].Value = career.Pile;
|
||||
summarySheet.Cells[row, 40].Value = career.Org;
|
||||
summarySheet.Cells[row, 41].Value = career.DurationStart == null ? "-" : career.DurationStart.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 42].Value = career.DurationEnd == null ? "-" : career.DurationEnd.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 43].Value = career.RangeDate;
|
||||
|
||||
summarySheet.Cells[row, 44].Value = item.Number;
|
||||
summarySheet.Cells[row, 45].Value = item.ExamIdenNumber;
|
||||
summarySheet.Cells[row, 46].Value = item.SeatNumber;
|
||||
summarySheet.Cells[row, 47].Value = item.PointTotalA;
|
||||
summarySheet.Cells[row, 48].Value = item.PointA;
|
||||
summarySheet.Cells[row, 49].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 50].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 51].Value = item.PointB;
|
||||
summarySheet.Cells[row, 52].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 53].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 54].Value = item.PointC;
|
||||
summarySheet.Cells[row, 55].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 56].Value = item.Pass;
|
||||
summarySheet.Cells[row, 57].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 58].Value = item.RegisterDate;
|
||||
row++;
|
||||
}
|
||||
if (educations.Count() == 0 && careers.Count() == 0)
|
||||
|
|
@ -1566,7 +1607,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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, 7].Value = item.ReligionName;
|
||||
summarySheet.Cells[row, 8].Value = item.Telephone;
|
||||
summarySheet.Cells[row, 9].Value = item.MobilePhone;
|
||||
summarySheet.Cells[row, 10].Value = item.Email;
|
||||
|
|
@ -1581,31 +1622,30 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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 = item.OccupationType == null ? null : 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.PointTotalA;
|
||||
summarySheet.Cells[row, 47].Value = item.PointA;
|
||||
summarySheet.Cells[row, 48].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 49].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 50].Value = item.PointB;
|
||||
summarySheet.Cells[row, 51].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 52].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 53].Value = item.PointC;
|
||||
summarySheet.Cells[row, 54].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 55].Value = item.Pass;
|
||||
summarySheet.Cells[row, 56].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 57].Value = item.RegisterDate;
|
||||
summarySheet.Cells[row, 22].Value = item.OccupationPosition;
|
||||
summarySheet.Cells[row, 23].Value = item.OccupationSalary;
|
||||
summarySheet.Cells[row, 24].Value = item.OccupationGroup;
|
||||
summarySheet.Cells[row, 25].Value = item.OccupationPile;
|
||||
summarySheet.Cells[row, 26].Value = item.OccupationOrg;
|
||||
summarySheet.Cells[row, 27].Value = item.OccupationPositionType == null ? null : GenerateStatusOccupation(item.OccupationPositionType);
|
||||
summarySheet.Cells[row, 28].Value = item.OccupationTelephone;
|
||||
|
||||
summarySheet.Cells[row, 44].Value = item.Number;
|
||||
summarySheet.Cells[row, 45].Value = item.ExamIdenNumber;
|
||||
summarySheet.Cells[row, 46].Value = item.SeatNumber;
|
||||
summarySheet.Cells[row, 47].Value = item.PointTotalA;
|
||||
summarySheet.Cells[row, 48].Value = item.PointA;
|
||||
summarySheet.Cells[row, 49].Value = item.ResultA;
|
||||
summarySheet.Cells[row, 50].Value = item.PointTotalB;
|
||||
summarySheet.Cells[row, 51].Value = item.PointB;
|
||||
summarySheet.Cells[row, 52].Value = item.ResultB;
|
||||
summarySheet.Cells[row, 53].Value = item.PointTotalC;
|
||||
summarySheet.Cells[row, 54].Value = item.PointC;
|
||||
summarySheet.Cells[row, 55].Value = item.ResultC;
|
||||
summarySheet.Cells[row, 56].Value = item.Pass;
|
||||
summarySheet.Cells[row, 57].Value = item.CreatedAt.Date.ToThaiShortDate();
|
||||
summarySheet.Cells[row, 58].Value = item.RegisterDate;
|
||||
row++;
|
||||
}
|
||||
}
|
||||
|
|
@ -1641,7 +1681,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Nationality = c.Nationality,
|
||||
DateOfBirth = c.DateOfBirth == null ? "" : c.DateOfBirth.Value.Date.ToThaiShortDate(),
|
||||
Age = c.DateOfBirth == null ? 0 : DateTime.Now.Date.Year - c.DateOfBirth.Value.Date.Year,
|
||||
RelationshipName = c.RelationshipName,
|
||||
ReligionName = c.ReligionName,
|
||||
Telephone = c.Telephone,
|
||||
MobilePhone = c.MobilePhone,
|
||||
Email = c.Email,
|
||||
|
|
@ -1656,14 +1696,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
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,
|
||||
OccupationOrg = c.OccupationOrg,
|
||||
OccupationPile = c.OccupationPile,
|
||||
OccupationGroup = c.OccupationGroup,
|
||||
OccupationSalary = c.OccupationSalary,
|
||||
OccupationPosition = c.OccupationPosition,
|
||||
OccupationCompany = c.OccupationCompany,
|
||||
OccupationDepartment = c.OccupationDepartment,
|
||||
OccupationEmail = c.OccupationEmail,
|
||||
OccupationPositionType = c.OccupationPositionType,
|
||||
OccupationTelephone = c.OccupationTelephone,
|
||||
Number = c.Number,
|
||||
ExamIdenNumber = c.ExamIdenNumber,
|
||||
|
|
@ -1729,7 +1767,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.Candidate.PeriodExam == periodExam)
|
||||
.Where(x => x.Candidate.CreatedAt.Date <= item.DateEnd.Date)
|
||||
.Where(x => x.Candidate.CreatedAt.Date >= item.DateStart.Date)
|
||||
.GroupBy(x => x.EducationLevelName)
|
||||
.GroupBy(x => x.EducationLevelExamName)
|
||||
.Select(x => new
|
||||
{
|
||||
Name = x.Key,
|
||||
|
|
@ -1746,7 +1784,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
}
|
||||
if (educations.Count() != 0)
|
||||
{
|
||||
summarySheet.Cells[5, fixMerge, 5, rowName - 1].Value = "วุฒิการศึกษา";
|
||||
summarySheet.Cells[5, fixMerge, 5, rowName - 1].Value = "วุฒิที่ใช้สมัครสอบ";
|
||||
summarySheet.Cells[5, fixMerge, 5, rowName - 1].Merge = true;
|
||||
fixMerge = rowCount;
|
||||
}
|
||||
|
|
@ -1755,7 +1793,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
.Where(x => x.Candidate.PeriodExam == periodExam)
|
||||
.Where(x => x.Candidate.CreatedAt.Date <= item.DateEnd.Date)
|
||||
.Where(x => x.Candidate.CreatedAt.Date >= item.DateStart.Date)
|
||||
.GroupBy(x => x.Name)
|
||||
.GroupBy(x => x.Position)
|
||||
.Select(x => new
|
||||
{
|
||||
Name = x.Key,
|
||||
|
|
@ -1866,8 +1904,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
public async Task UpdateAsyncCandidateToPlacement(Guid examId)
|
||||
{
|
||||
var periodExam = await _context.PeriodExams.AsQueryable()
|
||||
.Include(x => x.Candidate)
|
||||
.ThenInclude(x => x.Educations)
|
||||
.Include(x => x.Candidate)
|
||||
.ThenInclude(x => x.PositionExam)
|
||||
.Include(x => x.Candidate)
|
||||
|
|
@ -1911,7 +1947,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
Lastname = candidate.LastName,
|
||||
Nationality = candidate.Nationality,
|
||||
DateOfBirth = candidate.DateOfBirth,
|
||||
Relationship = await _contextMetadata.Relationships.FirstOrDefaultAsync(x => x.Id == candidate.RelationshipId),
|
||||
Religion = await _contextMetadata.Religions.FirstOrDefaultAsync(x => x.Id == candidate.ReligionId),
|
||||
Email = candidate.Email,
|
||||
CitizenId = candidate.CitizenId,
|
||||
CitizenDistrict = await _contextMetadata.Districts.FirstOrDefaultAsync(x => x.Id == candidate.CitizenDistrictId),
|
||||
|
|
@ -1947,12 +1983,13 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
MotherLastName = candidate.MotherLastName,
|
||||
MotherOccupation = candidate.MotherOccupation,
|
||||
MotherNationality = candidate.MotherNationality,
|
||||
OccupationType = candidate.OccupationType,
|
||||
OccupationCompany = candidate.OccupationCompany,
|
||||
OccupationDepartment = candidate.OccupationDepartment,
|
||||
OccupationEmail = candidate.OccupationEmail,
|
||||
OccupationTelephone = candidate.OccupationTelephone,
|
||||
OccupationOrg = candidate.OccupationOrg,
|
||||
OccupationPile = candidate.OccupationPile,
|
||||
OccupationGroup = candidate.OccupationGroup,
|
||||
OccupationSalary = candidate.OccupationSalary,
|
||||
OccupationPosition = candidate.OccupationPosition,
|
||||
OccupationPositionType = candidate.OccupationPositionType,
|
||||
OccupationTelephone = candidate.OccupationTelephone,
|
||||
PointTotalA = candidate.PointTotalA == null ? null : Convert.ToDouble(candidate.PointTotalA),
|
||||
PointA = candidate.PointA == null ? null : Convert.ToDouble(candidate.PointA),
|
||||
PointTotalB = candidate.PointTotalB == null ? null : Convert.ToDouble(candidate.PointTotalB),
|
||||
|
|
@ -1978,13 +2015,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
var placementEducation = new PlacementEducation
|
||||
{
|
||||
PlacementProfile = placementProfile,
|
||||
EducationLevel = await _contextMetadata.EducationLevels.FirstOrDefaultAsync(x => x.Id == education.EducationLevelId),
|
||||
Field = education.Major,
|
||||
Gpa = education.Scores.ToString(),
|
||||
Institute = education.Name,
|
||||
EducationLevel = await _contextMetadata.EducationLevels.FirstOrDefaultAsync(x => x.Id == education.EducationLevelExamId),
|
||||
Field = education.EducationMajor,
|
||||
Gpa = education.EducationScores,
|
||||
Institute = education.EducationLocation,
|
||||
IsDate = true,
|
||||
StartDate = education.DurationStart,
|
||||
EndDate = education.DurationEnd,
|
||||
FinishDate = education.EducationEndDate,
|
||||
CreatedAt = DateTime.Now,
|
||||
CreatedUserId = UserId ?? "",
|
||||
LastUpdatedAt = DateTime.Now,
|
||||
|
|
@ -2103,12 +2139,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
|||
// MotherLastName = candidate.MotherLastName,
|
||||
// MotherOccupation = candidate.MotherOccupation,
|
||||
// MotherNationality = candidate.MotherNationality,
|
||||
OccupationType = "other",
|
||||
|
||||
OccupationPositionType = "other",
|
||||
// OccupationCompany = candidate.OccupationCompany,
|
||||
OccupationDepartment = candidate.Occupations.FirstOrDefault() == null ? null : candidate.Occupations.FirstOrDefault().Workplace,
|
||||
// OccupationDepartment = candidate.Occupations.FirstOrDefault() == null ? null : candidate.Occupations.FirstOrDefault().Workplace,
|
||||
// OccupationEmail = candidate.OccupationEmail,
|
||||
OccupationTelephone = candidate.Occupations.FirstOrDefault() == null ? null : candidate.Occupations.FirstOrDefault().Telephone,
|
||||
OccupationPosition = candidate.Occupations.FirstOrDefault() == null ? null : candidate.Occupations.FirstOrDefault().Position,
|
||||
|
||||
PointTotalA = disableScore == null ? null : Convert.ToDouble(disableScore.FullA),
|
||||
PointA = disableScore == null ? null : Convert.ToDouble(disableScore.SumA),
|
||||
PointTotalB = disableScore == null ? null : Convert.ToDouble(disableScore.FullB),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue