@* Views/Admin/Users/Index.cshtml *@ @model IEnumerable @using Web.Authorization @using Web.ViewModel.AccountVM @{ ViewData["Title"] = "User Management"; } @section Styles { } Admin User Management IDENTITY & ACCESS CONTROL User Management Manage system users, roles, and access permissions New User Delete Selected @{ var totalUsers = Model.Count(); var adminCount = Model.Count(u => u.SelectedRoles != null && u.SelectedRoles.Any(r => r.Equals("Admin", StringComparison.OrdinalIgnoreCase))); var userCount = Model.Count(u => u.SelectedRoles != null && u.SelectedRoles.Any(r => r.Equals("User", StringComparison.OrdinalIgnoreCase))); var roleCount = Model.SelectMany(u => u.SelectedRoles ?? new List()).Distinct().Count(); } @totalUsersTotal Users @adminCountAdmins @userCountUsers @roleCountRoles @Html.AntiForgeryToken() System Users @totalUsers registered @if (Model.Any()) { User Email Roles Actions @{ var colors = new[] { "#6366f1","#ec4899","#f59e0b","#10b981","#3b82f6","#8b5cf6","#ef4444","#06b6d4" }; var idx = 0; } @foreach (var user in Model) { var initials = ((user.FirstName?.Length > 0 ? user.FirstName[0].ToString() : "") + (user.LastName?.Length > 0 ? user.LastName[0].ToString() : "")).ToUpper(); var bgColor = colors[idx % colors.Length]; var rolesStr = user.SelectedRoles != null ? string.Join(",", user.SelectedRoles) : ""; idx++; @initials @user.FirstName @user.LastName ID: @(user.Id?.Length > 8 ? user.Id[..8] + "…" : user.Id) @user.Email @if (user.SelectedRoles != null) { @foreach (var role in user.SelectedRoles) { var roleClass = role.ToLower() switch { "admin" => "admin", "user" => "user", "manager" => "manager", _ => "default" }; @role } } } } else { No users found Create your first user to get started } 0 of @totalUsers selected Last updated: @DateTime.Now.ToString("MMM dd, yyyy HH:mm") Create New UserAdd a new member to the system @Html.AntiForgeryToken() First Name * Last Name * Email Address * Password * Confirm Password * Assign Roles * @if (ViewBag.Roles != null) { @foreach (var role in (List)ViewBag.Roles) { @role.Text } } Edit UserUpdate user details and roles @Html.AntiForgeryToken() First Name * Last Name * Assign Roles * @if (ViewBag.Roles != null) { @foreach (var role in (List)ViewBag.Roles) { @role.Text } } Delete UserThis action cannot be undone ?? User Name user@example.com You are about to permanently delete this user account. All associated data, roles, and permissions will be removed. This action is irreversible. Delete Selected UsersBulk removal confirmation You are about to permanently delete 0 users from the system. All their data, roles, and permissions will be removed. This is irreversible. @section Scripts { }
Manage system users, roles, and access permissions
Create your first user to get started
Add a new member to the system
Update user details and roles
This action cannot be undone
user@example.com
You are about to permanently delete this user account. All associated data, roles, and permissions will be removed. This action is irreversible.
Bulk removal confirmation
You are about to permanently delete 0 users from the system. All their data, roles, and permissions will be removed. This is irreversible.