98 lines
3.8 KiB
C#
98 lines
3.8 KiB
C#
|
|
using BMA.EHR.Domain.Common;
|
|||
|
|
using BMA.EHR.Domain.Models.MetaData;
|
|||
|
|
using BMA.EHR.MetaData.Service.Request;
|
|||
|
|
using BMA.EHR.MetaData.Service.Services;
|
|||
|
|
using Microsoft.AspNetCore.Authorization;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using Swashbuckle.AspNetCore.Annotations;
|
|||
|
|
|
|||
|
|
namespace BMA.EHR.MetaData.Service.Controllers
|
|||
|
|
{
|
|||
|
|
[Route("api/v{version:apiVersion}/metadata/main")]
|
|||
|
|
[ApiVersion("1.0")]
|
|||
|
|
[ApiController]
|
|||
|
|
[Produces("application/json")]
|
|||
|
|
[Authorize]
|
|||
|
|
[SwaggerTag("จัดการข้อมูลตำแหน่ง เพื่อนำไปใช้งานในระบบ")]
|
|||
|
|
public class MainController : BaseController
|
|||
|
|
{
|
|||
|
|
#region " Fields "
|
|||
|
|
|
|||
|
|
private readonly BloodGroupService _bloodGroupService;
|
|||
|
|
private readonly EducationLevelService _educationLevelService;
|
|||
|
|
private readonly GenderService _genderService;
|
|||
|
|
private readonly ProvinceService _provinceService;
|
|||
|
|
private readonly PrefixService _prefixService;
|
|||
|
|
private readonly RelationshipService _relationshipService;
|
|||
|
|
private readonly ReligionService _religionService;
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region " Constructor and Destructor "
|
|||
|
|
|
|||
|
|
public MainController(
|
|||
|
|
BloodGroupService bloodGroupService,
|
|||
|
|
ProvinceService provinceService,
|
|||
|
|
EducationLevelService educationLevelService,
|
|||
|
|
GenderService genderService,
|
|||
|
|
PrefixService prefixService,
|
|||
|
|
RelationshipService relationshipService,
|
|||
|
|
ReligionService religionService)
|
|||
|
|
{
|
|||
|
|
_bloodGroupService = bloodGroupService;
|
|||
|
|
_provinceService = provinceService;
|
|||
|
|
_educationLevelService = educationLevelService;
|
|||
|
|
_genderService = genderService;
|
|||
|
|
_prefixService = prefixService;
|
|||
|
|
_relationshipService = relationshipService;
|
|||
|
|
_religionService = religionService;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region " Methods "
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// อ่านข้อมูล ข้อมูลเกี่ยวกับบุคคล
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
/// <response code="200">อ่านข้อมูล ข้อมูลเกี่ยวกับบุคคล สำเร็จ</response>
|
|||
|
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
|||
|
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
|||
|
|
[HttpGet("person")]
|
|||
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|||
|
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
|||
|
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
|||
|
|
public async Task<ActionResult<ResponseObject>> GetsMainPersonAsync()
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
var bloodGroups = await _bloodGroupService.GetsAsync(showAll: false);
|
|||
|
|
var provinces = await _provinceService.GetsAsync(showAll: false);
|
|||
|
|
var educationLevels = await _educationLevelService.GetsAsync(showAll: false);
|
|||
|
|
var genders = await _genderService.GetsAsync(showAll: false);
|
|||
|
|
var prefixs = await _prefixService.GetsAsync(showAll: false);
|
|||
|
|
var relationships = await _relationshipService.GetsAsync(showAll: false);
|
|||
|
|
var religions = await _religionService.GetsAsync(showAll: false);
|
|||
|
|
|
|||
|
|
return Success(new
|
|||
|
|
{
|
|||
|
|
bloodGroups,
|
|||
|
|
provinces,
|
|||
|
|
educationLevels,
|
|||
|
|
genders,
|
|||
|
|
prefixs,
|
|||
|
|
relationships,
|
|||
|
|
religions,
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
return Error(ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
}
|
|||
|
|
}
|