diff --git a/Controllers/PeriodExamController.cs b/Controllers/PeriodExamController.cs
index 91730b9..54096a3 100644
--- a/Controllers/PeriodExamController.cs
+++ b/Controllers/PeriodExamController.cs
@@ -265,7 +265,32 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return Error(ex);
}
}
+
+ ///
+ /// ข้อมูล ข้อมูลส่วนตัว ผู้สมัคร
+ ///
+ /// รหัสรอบสมัคร
+ ///
+ /// เมื่อทำการดึง ข้อมูล ข้อมูลส่วนตัว ผู้สมัคร สำเร็จ
+ /// ไม่ได้ Login เข้าระบบ
+ /// เมื่อเกิดข้อผิดพลาดในการทำงาน
+ [HttpGet("information/{candidate:length(36)}")]
+ [ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status401Unauthorized)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task> GetsAsyncInformation(string candidate)
+ {
+ try
+ {
+ var items = await _periodExamService.GetsAsyncInformation(candidate);
+ return Success(items);
+ }
+ catch (Exception ex)
+ {
+ return Error(ex);
+ }
+ }
#endregion
}
}
diff --git a/Services/PeriodExamService.cs b/Services/PeriodExamService.cs
index 789d2d8..3abc171 100644
--- a/Services/PeriodExamService.cs
+++ b/Services/PeriodExamService.cs
@@ -143,6 +143,33 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
}
}
+ public async Task GetsAsyncInformation(string candidateId)
+ {
+ return await _context.Candidates.AsQueryable()
+ .Where(x => x.Id == Guid.Parse(candidateId))
+ .Select(x => new CandidateInformationResponseItem
+ {
+ Prefix = x.Prefix,
+ PrefixId = x.Prefix != null ? x.Prefix.Id.ToString() : null,
+ FirstName = x.FirstName,
+ LastName = x.LastName,
+ Nationality = x.Nationality,
+ DateOfBirth = x.DateOfBirth,
+ Relationship = x.Relationship,
+ RelationshipId = x.Relationship != null ? x.Relationship.Id.ToString() : null,
+ CitizenProvince = x.CitizenProvince,
+ CitizenProvinceId = x.CitizenProvince != null ? x.CitizenProvince.Id.ToString() : null,
+ CitizenDistrict = x.CitizenDistrict,
+ CitizenDistrictId = x.CitizenDistrict != null ? x.CitizenDistrict.Id.ToString() : null,
+ CitizenDate = x.CitizenDate,
+ Email = x.Email,
+ CitizenId = x.CitizenId,
+ Telephone = x.Telephone,
+ MobilePhone = x.MobilePhone,
+ Knowledge = x.Knowledge,
+ })
+ .FirstOrDefaultAsync();
+ }
#endregion
}
}