[CLAUDE] Infra: them 14 demo users Solutions company (PRO 5 + CCM 7 + ISO 1 + CEO 1)
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 3m11s

User cung cap danh sach nhan vien thuc te. Add vao SeedDemoUsersAsync,
idempotent (FindByEmail trong reconcile pattern). Pass = User@123456
(matching demo pattern, policy 12 char + digit + lower + upper + special).

PRO (5):
 - tra.bui — Bui Le Thuy Tra — TP Cung ung (Procurement+DeptManager)
 - phuong.nguyen — Nguyen Thi Bich Phuong (Procurement+Drafter)
 - thanh.lethanh — Le Thanh Binh (Procurement+Drafter)
 - long.chau — Chau Ta Kim Long (Procurement+Drafter)
 - duy.nguyen — Nguyen Van Duy (Procurement+Drafter)

CCM (7):
 - chuong.phan — Phan Van Chuong — TP Kiem soat Chi phi (CostControl+DeptManager)
 - binh.le — Le Van Binh (CostControl)
 - luu.tran — Tran Xuan Luu (CostControl)
 - nguyen.ho — Ho Thi Nu Nguyen (CostControl)
 - anh.nguyen — Nguyen Thi Kim Anh (CostControl)
 - tring.le — Le Tu Dang Trinh (CostControl) — giu literal user provided
 - truong.le — Le Tran Dang Truong (CostControl)

ISO (1):
 - long.nguyen — Nguyen Hoang Chanh Long — Dep HRA, role HrAdmin (dong dau HD)

CEO (1):
 - truong.nguyen — Nguyen Van Truong — Dep BOD, role Director (ASCII fix tu 'truong.nguyen' co dau)

Email typo fix:
 - 'phuong.nguyen@soluttions.com' → 'phuong.nguyen@solutions.com.vn'
 - 'truong.nguyen' co dau → 'truong.nguyen' ASCII (KHONG conflict voi truong.le CCM)

Reconcile pattern dam bao: neu user da exist (email collision), update
dept/position/role thay vi error. Pass khong overwrite cho existing user.
This commit is contained in:
pqhuy1987
2026-04-28 10:51:56 +07:00
parent 309dcd9768
commit 8097892d20

View File

@ -1156,6 +1156,29 @@ public static class DbInitializer
("nv.cao@solutions.com.vn", "Cao Văn Long", "PRO", "Nhân viên Cung ứng", new[] { AppRoles.Drafter }),
("nv.dinh@solutions.com.vn", "Đinh Thị Yến", "FIN", "Nhân viên Tài chính", new[] { AppRoles.Drafter }),
("nv.truong@solutions.com.vn", "Trương Minh Quân", "CCM", "Nhân viên Kiểm soát chi phí", new[] { AppRoles.Drafter }),
// ===== Solutions company users (real names — added 2026-04-25) =====
// PRO — Phòng Cung ứng (5 user)
("tra.bui@solutions.com.vn", "Bùi Lê Thủy Trà", "PRO", "TP Cung ứng", new[] { AppRoles.Procurement, AppRoles.DeptManager }),
("phuong.nguyen@solutions.com.vn", "Nguyễn Thị Bích Phượng", "PRO", "Nhân viên Cung ứng", new[] { AppRoles.Procurement, AppRoles.Drafter }),
("thanh.lethanh@solutions.com.vn", "Lê Thanh Bình", "PRO", "Nhân viên Cung ứng", new[] { AppRoles.Procurement, AppRoles.Drafter }),
("long.chau@solutions.com.vn", "Châu Tạ Kim Long", "PRO", "Nhân viên Cung ứng", new[] { AppRoles.Procurement, AppRoles.Drafter }),
("duy.nguyen@solutions.com.vn", "Nguyễn Văn Duy", "PRO", "Nhân viên Cung ứng", new[] { AppRoles.Procurement, AppRoles.Drafter }),
// CCM — Phòng Kiểm soát Chi phí (7 user)
("chuong.phan@solutions.com.vn", "Phan Văn Chương", "CCM", "TP Kiểm soát Chi phí", new[] { AppRoles.CostControl, AppRoles.DeptManager }),
("binh.le@solutions.com.vn", "Lê Văn Bình", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
("luu.tran@solutions.com.vn", "Trần Xuân Lưu", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
("nguyen.ho@solutions.com.vn", "Hồ Thị Nữ Nguyên", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
("anh.nguyen@solutions.com.vn", "Nguyễn Thị Kim Ánh", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
("tring.le@solutions.com.vn", "Lê Tự Đăng Trình", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
("truong.le@solutions.com.vn", "Lê Trần Đăng Trường", "CCM", "Nhân viên Kiểm soát Chi phí", new[] { AppRoles.CostControl }),
// ISO — đóng dấu HĐ (1 user, dept HRA)
("long.nguyen@solutions.com.vn", "Nguyễn Hoàng Chánh Long", "HRA", "ISO — Đóng dấu HĐ", new[] { AppRoles.HrAdmin }),
// CEO — Tổng Giám đốc (1 user, dept BOD)
("truong.nguyen@solutions.com.vn", "Nguyễn Văn Trường", "BOD", "Tổng Giám đốc (CEO)", new[] { AppRoles.Director }),
};
int created = 0, fixedExisting = 0, failed = 0;