@page "/users" @attribute [Authorize] @inject HttpClient Http QuantEngine - 사용자 관리
사용자 관리 시스템 사용자 및 권한 관리
새 사용자 추가
@if (Users.Count == 0) { 사용자가 없습니다. } else { 이름 이메일 역할 상태 가입일 작업
@context.Name[0] @context.Name
@context.Email @context.Role @(context.IsActive ? "활성" : "비활성") @context.CreatedDate.ToString("yyyy-MM-dd") 편집 삭제
}
@code { private List Users = new(); private string SearchQuery = ""; private IEnumerable FilteredUsers { get => string.IsNullOrEmpty(SearchQuery) ? Users : Users.Where(u => u.Name.Contains(SearchQuery, StringComparison.OrdinalIgnoreCase) || u.Email.Contains(SearchQuery, StringComparison.OrdinalIgnoreCase)); } protected override async Task OnInitializedAsync() { await LoadUsers(); } private async Task LoadUsers() { try { Users = new List { new UserModel { Id = "1", Name = "admin", Email = "admin@quantengine.local", Role = "Admin", IsActive = true, CreatedDate = DateTime.Now.AddMonths(-6) }, new UserModel { Id = "2", Name = "user1", Email = "user1@example.com", Role = "Viewer", IsActive = true, CreatedDate = DateTime.Now.AddMonths(-3) }, new UserModel { Id = "3", Name = "user2", Email = "user2@example.com", Role = "Operator", IsActive = true, CreatedDate = DateTime.Now.AddMonths(-1) } }; } catch { // Handle error } } private async Task OpenAddUserDialog() { // Dialog implementation would go here await Task.CompletedTask; } private async Task EditUser(UserModel user) { // Edit dialog implementation await Task.CompletedTask; } private async Task DeleteUser(UserModel user) { // Delete confirmation and implementation await Task.CompletedTask; } private class UserModel { public string Id { get; set; } public string Name { get; set; } public string Email { get; set; } public string Role { get; set; } public bool IsActive { get; set; } public DateTime CreatedDate { get; set; } } }