From 1897e076c2f26bab0f02a098b1187f333bef83fa Mon Sep 17 00:00:00 2001 From: Chunyi Date: Tue, 30 Sep 2025 10:12:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B8=B3=E8=99=9F=E3=80=81?= =?UTF-8?q?=E8=99=95=E5=AE=A4=E5=8F=8A=E8=BA=AB=E4=BB=BD=E5=AF=A6=E9=AB=94?= =?UTF-8?q?=E9=A1=9E=E5=88=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 `AccountEntity.cs` 中新增帳號實體類別,包含帳號 ID、使用者姓名、帳號名稱、密碼、電子郵件、處室 ID、身份 ID、帳號狀態及其關聯資訊,並新增帳號狀態列舉類別。 在 `BaseEntity.cs` 中新增基礎實體類別,包含創建時間、更新時間和修改者 ID。 在 `DepartmentEntity.cs` 中新增處室實體類別,包含處室 ID 和名稱。 在 `RoleEntity.cs` 中新增身份實體類別,包含身份 ID 和名稱。 --- .../Models/Entities/AccountEntity.cs | 81 +++++++++++++++++++ .../Models/Entities/BaseEntity.cs | 9 +++ .../Models/Entities/DepartmentEntity.cs | 20 +++++ .../Models/Entities/RoleEntity.cs | 20 +++++ 4 files changed, 130 insertions(+) create mode 100644 XisongSpaceBooking_BackEnd/Models/Entities/AccountEntity.cs create mode 100644 XisongSpaceBooking_BackEnd/Models/Entities/BaseEntity.cs create mode 100644 XisongSpaceBooking_BackEnd/Models/Entities/DepartmentEntity.cs create mode 100644 XisongSpaceBooking_BackEnd/Models/Entities/RoleEntity.cs diff --git a/XisongSpaceBooking_BackEnd/Models/Entities/AccountEntity.cs b/XisongSpaceBooking_BackEnd/Models/Entities/AccountEntity.cs new file mode 100644 index 0000000..37eec06 --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Models/Entities/AccountEntity.cs @@ -0,0 +1,81 @@ +using XisongSpaceBooking_BackEnd.Models.Entities; + +namespace Models.Entities +{ + /// + /// 帳號實體類別,對應資料庫 accounts 表格 + /// + public class AccountEntity : BaseEntity + { + /// + /// 帳號 ID(主鍵) + /// + public int AccountId { get; set; } + + /// + /// 使用者姓名 + /// + public string Name { get; set; } = string.Empty; + + /// + /// 帳號名稱(唯一) + /// + public string Username { get; set; } = string.Empty; + + /// + /// 密碼(加密) + /// + public string Password { get; set; } = string.Empty; + + /// + /// 電子郵件(唯一) + /// + public string Email { get; set; } = string.Empty; + + /// + /// 處室 ID(外鍵) + /// + public int DepartmentId { get; set; } + + /// + /// 身份 ID(外鍵) + /// + public int RoleId { get; set; } + + /// + /// 帳號狀態 + /// + public AccountStatus Status { get; set; } + + /// + /// 關聯的處室資訊 + /// + public DepartmentEntity? Department { get; set; } + + /// + /// 關聯的身份資訊 + /// + public RoleEntity? Role { get; set; } + } + + /// + /// 帳號狀態列舉 + /// + public enum AccountStatus + { + /// + /// 已啟用 + /// + Enabled, + + /// + /// 已停用 + /// + Disabled, + + /// + /// 未驗證(預設值) + /// + Unverified + } +} \ No newline at end of file diff --git a/XisongSpaceBooking_BackEnd/Models/Entities/BaseEntity.cs b/XisongSpaceBooking_BackEnd/Models/Entities/BaseEntity.cs new file mode 100644 index 0000000..dfe9dff --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Models/Entities/BaseEntity.cs @@ -0,0 +1,9 @@ +namespace XisongSpaceBooking_BackEnd.Models.Entities +{ + public class BaseEntity + { + public DateTime CreatedAt { get; set; } + public DateTime? UpdatedAt { get; set; } + public int? ModifiedBy { get; set; } + } +} diff --git a/XisongSpaceBooking_BackEnd/Models/Entities/DepartmentEntity.cs b/XisongSpaceBooking_BackEnd/Models/Entities/DepartmentEntity.cs new file mode 100644 index 0000000..bda1a7c --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Models/Entities/DepartmentEntity.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; + +namespace Models.Entities +{ + /// + /// 處室實體類別,對應資料庫 departments 表格 + /// + public class DepartmentEntity + { + /// + /// 處室 ID(主鍵) + /// + public int DepartmentId { get; set; } + + /// + /// 處室名稱 + /// + public string DepartmentName { get; set; } + } +} \ No newline at end of file diff --git a/XisongSpaceBooking_BackEnd/Models/Entities/RoleEntity.cs b/XisongSpaceBooking_BackEnd/Models/Entities/RoleEntity.cs new file mode 100644 index 0000000..ee24e94 --- /dev/null +++ b/XisongSpaceBooking_BackEnd/Models/Entities/RoleEntity.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; + +namespace Models.Entities +{ + /// + /// 身份實體類別,對應資料庫 roles 表格 + /// + public class RoleEntity + { + /// + /// 身份 ID(主鍵) + /// + public int RoleId { get; set; } + + /// + /// 身份名稱 + /// + public string RoleName { get; set; } + } +} \ No newline at end of file