Files
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

57 lines
2.3 KiB
Markdown

# 簽到簽退
## 畫面
* MainForm 上的 tabPage1
* 上面有兩個區域:預約報名、現場報到
* 使用銜接鍵盤介面的二維碼掃描器來掃碼
### 預約報名
* txtQRCode 為掃碼輸入框
* 掃碼之後查詢本地數據庫的 SignUp 表的 QRCode 欄位
* 查到時
* 依照 cbCheckMode 的值(簽到 / 簽退)更新本地數據庫欄位(CheckInTime / CheckOutTime)
* 本地數據庫 CheckIn 表新增一筆
* lbCheckResult 顯示綠底白字 "報到成功"
* lbName 顯示 Name
* lbMobile 顯示 Mobile
* lbCheckInTime 顯示 CheckInTime
* lbCheckOutTime 顯示 CheckOutTime
* 未查到
* lbCheckResult 顯示紅底白字 "無此筆資料"
* lbName 內容清空
* lbMobile 內容清空
* lbCheckInTime 內容清空
* lbCheckOutTime 內容清空
### 現場報到
* txtName 輸入姓名 (必須輸入)
* txtMobile 輸入手機號 (必須輸入)
* 點擊 btnMenualCheckIn 按鈕執行現場報到
* cbCheckMode 的值 = "簽到" 時
* 用姓名與手機號查找本地數據庫 SignUp 表
* 查到:
* 本地數據庫 SignUp 表更新 CheckInTime
* 本地數據庫 CheckIn 表新增一筆
* 未查到:
* 本地數據庫 SignUp 表新增一筆
* 本地數據庫 CheckIn 表新增一筆
* lbMenualCheckInTime 顯示 CheckInTime
* lbMenualCheckOutTime 空白
* cbCheckMode 的值 = "簽退" 時
* 用姓名與手機號查找本地數據庫 SignUp 表
* 查到:
* 本地數據庫 SignUp 表更新 CheckOutTime
* 本地數據庫 CheckIn 表新增一筆
* 未查到:
* 本地數據庫 SignUp 表新增一筆
* 本地數據庫 CheckIn 表新增一筆
* lbMenualCheckInTime 顯示 CheckInTime
* lbMenualCheckOutTime 顯示 CheckOutTime
## 資料庫表結構
* 已有數據庫表結構以及存取類別,在 Data/Models 和 Data/Repositories 目錄
* 亦可參照 資料儲存服務.md
## 邏輯澄清
* CheckInTime/CheckOutTime:若已有值則不覆蓋,只在為 NULL 時才寫入
* 異常處理:數據庫操作失敗時顯示錯誤訊息,不清空UI