using BMA.EHR.Domain.Common; 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/position-line")] [ApiVersion("1.0")] [ApiController] [Produces("application/json")] [Authorize] [SwaggerTag("จัดการข้อมูลสายงานตำแหน่ง เพื่อนำไปใช้งานในระบบ")] public class PositionLineController : BaseController { #region " Fields " private readonly PositionLineService _positionLineService; #endregion #region " Constructor and Destructor " public PositionLineController(PositionLineService positionLineService) { _positionLineService = positionLineService; } #endregion #region " Methods " /// /// อ่านข้อมูลจาก Relational Db โดยแสดงเฉพาะข้อมูลที่ Active เท่านั้น /// /// /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task> GetsAsync() { try { var items = await _positionLineService.GetsAsync(showAll: false); return Success(items); } catch (Exception ex) { return Error(ex); } } #endregion } }