api ปฏิเสธจ่ายเงิน get ไฟล์สมัครสอบ

This commit is contained in:
Kittapath 2023-04-09 04:22:04 +07:00
parent 9486ad160d
commit 5abeada4a6
32 changed files with 7513 additions and 394 deletions

View file

@ -20,14 +20,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
#region " Fields "
private readonly PeriodExamService _periodExamService;
private readonly MinIOService _minioService;
#endregion
#region " Constructor and Destructor "
public PeriodExamController(PeriodExamService periodExamService)
public PeriodExamController(PeriodExamService periodExamService, MinIOService minioService)
{
_periodExamService = periodExamService;
_minioService = minioService;
}
#endregion
@ -119,7 +121,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
/// <response code="200">เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost, DisableRequestSizeLimit]
[HttpPost]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
@ -127,15 +129,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
if (Request.Form.Files == null || Request.Form.Files.Count == 0)
{
return Error(GlobalMessages.NoFileToUpload);
}
var items = await _periodExamService.CreateAsync(item);
var files = Request.Form.Files;
await _periodExamService.CreateAsync(item, files);
return Success();
return Success(items);
}
catch (Exception ex)
{
@ -152,11 +148,38 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
/// <response code="200">เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("{examId:length(36)}"), DisableRequestSizeLimit]
[HttpPut("{examId:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> UpdateAsync(string examId, RequestPeriodExam item)
{
try
{
await _periodExamService.UpdateAsync(examId, item);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// ข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบ
/// </summary>
/// <param name="type">ประเภทเอกสาร</param>
/// <param name="examId">รหัสรอบสมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการอ่านข้อมูลรอบการสมัครสอบ และ คนสมัครสอบในรอบสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPut("{type}/{examId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> UpdateDocAsync(string type, string examId)
{
try
{
@ -166,8 +189,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
var files = Request.Form.Files;
await _periodExamService.UpdateAsync(examId, item, files);
if (type == "img")
{
await _periodExamService.UpdateImgAsync(examId, files);
}
else
{
await _periodExamService.UpdateDocAsync(examId, files);
}
return Success();
}
@ -463,6 +492,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
}
}
/// <summary>
/// ข้อมูล เอกสาร ผู้สมัคร
/// </summary>
/// <param name="candidate">รหัสผู้สมัคร</param>
/// <returns></returns>
/// <response code="200">เมื่อทำการดึง ข้อมูล เอกสาร ผู้สมัคร สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpGet("document/{candidate:length(36)}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> GetsAsyncDocument(string candidate)
{
try
{
var items = await _periodExamService.GetsAsyncDocument(candidate);
return Success(items);
}
catch (Exception ex)
{
return Error(ex);
}
}
/// <summary>
/// อัพเดทข้อมูลที่นั่งสอบ
/// </summary>
@ -589,6 +644,31 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
/// <summary>
/// ลบเอกไฟล์
/// </summary>
/// <param name="documentId">รหัสไฟล์เอกสาร</param>
/// <returns></returns>
/// <response code="200">เมื่อลบเอกไฟล์สำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpDelete("doc/{examId:length(36)}"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public async Task<ActionResult<ResponseObject>> DeleteFileCandidateService(string examId, string documentId)
{
try
{
await _periodExamService.DeleteAsyncDocument(examId, documentId);
return Success();
}
catch (Exception ex)
{
return Error(ex);
}
}
#endregion
}
}