using Microsoft.EntityFrameworkCore; public class UserDirectoryService : IUserDirectoryService { private readonly AppDbContext _db; public UserDirectoryService(AppDbContext db) => _db = db; public async Task> ListByRoleAsync(UserRole? role) { var query = _db.Users.AsNoTracking().Where(u => u.IsActive); if (role.HasValue) query = query.Where(u => u.Role == role.Value); return await query .OrderBy(u => u.FullName) .Select(u => new UserSummaryResponse( u.Id, u.Username, u.FullName, u.Role.ToDbString())) .ToListAsync(); } }