2.6 KiB
2.6 KiB
資料儲存服務
說明
- 使用 SQLite 資料庫儲存本地資料,供客戶端離線使用
- 使用 Microsoft.Data.Sqlite 套件
- 支援完整的 CRUD 操作(新增、修改、查詢、刪除)
- 支援條件查詢和分頁
- 自動建立資料庫和表格結構
技術規格
- 資料庫檔案位置:DB 資料夾
- 資料庫名稱:data.db
- 建立 Classes 資料表 (對應後端 DAC_Classes1.cs 的 ClassesItem)
- 建立 SignUps 資料表 (對應後端 DAC_SignUp1.cs 的 SignUpItem)
- 建立 BPSN 資料表 (對應後端 DAC_BPSN.cs 的 BPSNItem)
- 建立 CheckIn 資料表
BPSN 表結構 -- 員工資料
- string BPENO (PK)
- string BPNME
- string BPAWD
- bool Is系統管理群組
- bool Is客戶管理群組
- bool Is現場工作群組
- bool Is查詢群組
Classes 表結構 -- 活動資料
- ID (INTEGER PRIMARY KEY) - 流水號(不自動編號,需要外部提供)
- CourseCode (TEXT) - 課程編號
- CourseName (TEXT NOT NULL) - 課程名稱
- CourseDate (DATETIME) - 課程日期
- CourseLocation (TEXT) - 課程地點
- NotificationTemplate (TEXT) - 通知模板
SignUps 表結構 -- 參加人員資料
- ID (INTEGER PRIMARY KEY AUTOINCREMENT) - 流水號
- CourseID (INTEGER NOT NULL) - 課程ID
- SeqNo (INTEGER NOT NULL) - 序號
- Name (TEXT NOT NULL) - 學員姓名
- Mobile (TEXT NOT NULL) - 手機號
- QRCode (TEXT) - QRCode內容
- SignUpType (TEXT) - 報名方式(預約/現場)
- IDNumber (TEXT) - 身分證字號
- IDType (TEXT) - 身分別
- MealType (TEXT) - 用餐別
- Email (TEXT) - 電子郵件
- CheckInTime (DATETIME) - 簽到時間
- CheckOutTime (DATETIME) - 簽退時間
CheckIn 表結構 -- 簽到簽退紀錄
- ID (INTEGER PRIMARY KEY AUTOINCREMENT) - 流水號
- CourseID (INTEGER NOT NULL) - 課程ID
- Name (TEXT NOT NULL) - 學員姓名
- Mobile (TEXT NOT NULL) - 手機號
- SignUpType (TEXT) - 報名方式(預約 / 現場)
- IDNumber (TEXT) - 身分證字號
- IDType (TEXT) - 身分別
- MealType (TEXT) - 用餐別
- Email (TEXT) - 電子郵件
- CheckInType (TEXT) - 簽到類別(CHECKIN / CHECKOUT)
- CheckInTime (DATETIME) - 簽到/簽退時間
- UploadTime (DATETIME) - 上傳時間
操作功能
- Classes:新增、修改、查詢、刪除
- SignUps:新增、修改、查詢、刪除
- BPSN:新增、修改、查詢、刪除
- CheckIn:新增、修改、查詢、刪除
- 清除所有資料表
查詢支援
- 條件查詢(WHERE)
- 分頁查詢(LIMIT, OFFSET)
- 排序(ORDER BY)