admin แก้ไขสมัครสอบคัดเลือก

This commit is contained in:
Kittapath 2023-04-26 03:16:49 +07:00
parent 0273a37503
commit ae60457a3e
6 changed files with 986 additions and 289 deletions

View file

@ -306,6 +306,33 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// อัพเดทข้อมูล ข้อมูลส่วนตัว ผู้สมัคร
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <param name="candidateInformation">ข้อมูลส่วนตัว</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอัพเดทข้อมูล ข้อมูลส่วนตัว ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> UpdateAdminAsync(string candidateId, CandidateResponseItem candidateInformation)
{
try
{
await _candidateService.UpdateAdminAsync(candidateId, candidateInformation);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัพเดทข้อมูล ข้อมูลส่วนตัว ผู้สมัคร
/// </summary>
@ -446,34 +473,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// สร้างข้อมูล ประวัติการศีกษา ผู้สมัคร
/// </summary>
/// <param name="examId">รหัสรอบสมัคร</param>
/// <param name="positionId">Id ตำแหน่งสมัครสอบ</param>
/// <param name="candidateEducation">ข้อมูลประวัติการศีกษา</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการสร้างข้อมูล ประวัติการศีกษา ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("education/{examId:length(36)}/{positionId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> CreateAsyncEducation(string examId, string positionId, CandidateEducationResponseItem candidateEducation)
{
try
{
await _candidateService.CreateAsyncEducation(examId, positionId, candidateEducation);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัพเดทข้อมูล ประวัติการทำงาน/ฝึกงาน ผู้สมัคร
/// </summary>
@ -528,6 +527,34 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// สร้างข้อมูล ประวัติการศีกษา ผู้สมัคร
/// </summary>
/// <param name="examId">รหัสรอบสมัคร</param>
/// <param name="positionId">Id ตำแหน่งสมัครสอบ</param>
/// <param name="candidateEducation">ข้อมูลประวัติการศีกษา</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการสร้างข้อมูล ประวัติการศีกษา ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("education/{examId:length(36)}/{positionId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> CreateAsyncEducation(string examId, string positionId, CandidateEducationResponseItem candidateEducation)
{
try
{
await _candidateService.CreateAsyncEducation(examId, positionId, candidateEducation);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัพเดทข้อมูล ประวัติการศีกษา ผู้สมัคร
/// </summary>
@ -581,6 +608,61 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
/// <summary>
/// สร้างข้อมูล ประวัติการทำงาน/ฝึกงาน ผู้สมัคร
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <param name="candidateCareer">ข้อมูลประวัติการทำงาน/ฝึกงาน</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการสร้างข้อมูล ประวัติการทำงาน/ฝึกงาน ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("career/{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> CreateAsyncAdminCareer(string candidateId, CandidateCareerResponseItem candidateCareer)
{
try
{
await _candidateService.CreateAsyncAdminCareer(candidateId, candidateCareer);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// สร้างข้อมูล ประวัติการศีกษา ผู้สมัคร
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <param name="candidateEducation">ข้อมูลประวัติการศีกษา</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการสร้างข้อมูล ประวัติการศีกษา ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("education/{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> CreateAsyncAdminEducation(string candidateId, CandidateEducationResponseItem candidateEducation)
{
try
{
await _candidateService.CreateAsyncAdminEducation(candidateId, candidateEducation);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// ผู้สมัครทำการสมัครสอบ
@ -766,6 +848,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// get id รูปถ่าย
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่อ get id รูปถ่ายสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("profile-image/{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetsAsyncAdminProfileImage(string candidateId)
{
try
{
var path = await _candidateService.GetsAsyncAdminProfileImage(candidateId);
return Success(GlobalMessages.Success, path);
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัปโหลดรูปถ่ายผู้สมัคร
/// </summary>
@ -802,6 +910,41 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// อัปโหลดรูปถ่ายผู้สมัคร
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่ออัปโหลดรูปถ่ายผู้สมัครสำเร็จ</response>
/// <response code="400">ค่าตัวแปรที่ส่งมาไม่ถูกต้อง</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("profile-image/{candidateId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
[AllowAnonymous]
public async Task<ActionResult<ResponseObject>> UpdateAsyncAdminProfileImage(string candidateId)
{
try
{
if (Request.Form.Files == null || Request.Form.Files.Count == 0)
{
return Error(GlobalMessages.NoFileToUpload);
}
var file = Request.Form.Files[0];
await _candidateService.UpdateAsyncAdminProfileImage(candidateId, file);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// get id หลักฐานชำระ
/// </summary>
@ -986,6 +1129,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
/// <summary>
/// ลบเอกสารหลักฐาน
/// </summary>
/// <param name="examId">รหัสรอบสมัคร</param>
/// <param name="positionId">Id ตำแหน่งสมัครสอบ</param>
/// <param name="documentId">รหัสไฟล์เอกสาร</param>
/// <returns></returns>
/// <response code="200">เมื่อลบเอกสารหลักฐานสำเร็จ</response>
@ -1007,6 +1152,90 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
/// <summary>
/// list เอกสารหลักฐาน
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่อ list เอกสารหลักฐานสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("upload/{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetsAsyncAdminFileUpload(string candidateId)
{
try
{
var doc = await _candidateService.GetsAsyncAdminFileUpload(candidateId);
return Success(doc);
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัปโหลดเอกสารหลักฐาน
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่ออัปโหลดเอกสารหลักฐานสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("upload/{candidateId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> UpdateAsyncAdminDocument(string candidateId)
{
try
{
if (Request.Form.Files == null || Request.Form.Files.Count == 0)
{
return Error(GlobalMessages.NoFileToUpload);
}
var file = Request.Form.Files[0];
await _candidateService.UpdateAsyncAdminDocument(candidateId, file);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// ลบเอกสารหลักฐาน
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <param name="documentId">รหัสไฟล์เอกสาร</param>
/// <returns></returns>
/// <response code="200">เมื่อลบเอกสารหลักฐานสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpDelete("upload/{candidateId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> DeleteAsyncAdminDocument(string candidateId, string documentId)
{
try
{
await _candidateService.DeleteAsyncAdminDocument(candidateId, documentId);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// โหลดไฟล์
@ -1065,6 +1294,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
/// <summary>
/// ใบสมัครสอบ
/// </summary>
/// <param name="candidateId">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการใบสมัครสอบ สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("card/{candidateId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetsAsyncAdminCardCandidate(string candidateId)
{
try
{
var items = await _candidateService.GetsAsyncAdminCardCandidate(candidateId);
return Success(items);
}
catch (Exception ex)
{
return Error(ex);
}
}
#endregion
}
}