diff --git a/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs b/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs new file mode 100644 index 0000000..1e9fc67 --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs @@ -0,0 +1,49 @@ +using Microsoft.AspNetCore.Mvc; +using XisongSpaceBooking_BackEnd.Models.DTOs; +using XisongSpaceBooking_BackEnd.Services; + +namespace XisongSpaceBooking_BackEnd.Controllers +{ + /// + /// 處室管理 API 控制器 + /// + [ApiController] + [Route("api/[controller]")] + public class DepartmentController : ControllerBase + { + private readonly IDepartmentService _departmentService; + + /// + /// 建構函式 + /// + /// 處室業務邏輯服務 + public DepartmentController(IDepartmentService departmentService) + { + _departmentService = departmentService ?? throw new ArgumentNullException(nameof(departmentService)); + } + + /// + /// 取得所有處室資料 + /// + /// 所有處室資料的集合 + /// 成功取得處室資料列表 + /// 伺服器內部錯誤 + [HttpGet("GetAll")] + [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task>> GetAllAsync() + { + try + { + var departments = await _departmentService.GetAllAsync(); + return Ok(departments); + } + catch (Exception ex) + { + // 記錄錯誤(這裡可以加入日誌記錄) + return StatusCode(StatusCodes.Status500InternalServerError, + new { message = "取得處室資料時發生錯誤", error = ex.Message }); + } + } + } +} diff --git a/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs b/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs new file mode 100644 index 0000000..acc1c55 --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs @@ -0,0 +1,49 @@ +using Microsoft.AspNetCore.Mvc; +using XisongSpaceBooking_BackEnd.Models.DTOs; +using XisongSpaceBooking_BackEnd.Services; + +namespace XisongSpaceBooking_BackEnd.Controllers +{ + /// + /// 身份管理 API 控制器 + /// + [ApiController] + [Route("api/[controller]")] + public class RoleController : ControllerBase + { + private readonly IRoleService _roleService; + + /// + /// 建構函式 + /// + /// 身份業務邏輯服務 + public RoleController(IRoleService roleService) + { + _roleService = roleService ?? throw new ArgumentNullException(nameof(roleService)); + } + + /// + /// 取得所有身份資料 + /// + /// 所有身份資料的集合 + /// 成功取得身份資料列表 + /// 伺服器內部錯誤 + [HttpGet("GetAll")] + [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task>> GetAllAsync() + { + try + { + var roles = await _roleService.GetAllAsync(); + return Ok(roles); + } + catch (Exception ex) + { + // 記錄錯誤(這裡可以加入日誌記錄) + return StatusCode(StatusCodes.Status500InternalServerError, + new { message = "取得身份資料時發生錯誤", error = ex.Message }); + } + } + } +}