Files
vigilcare-records/VigilCareRecordsAPI/Services/UserDirectoryService.cs
T

26 lines
722 B
C#

using Microsoft.EntityFrameworkCore;
public class UserDirectoryService : IUserDirectoryService
{
private readonly AppDbContext _db;
public UserDirectoryService(AppDbContext db) => _db = db;
public async Task<IReadOnlyList<UserSummaryResponse>> 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();
}
}