diff --git a/DigitalData.UserManager.Infrastructure/Contracts/IClientUserRepository.cs b/DigitalData.UserManager.Infrastructure/Contracts/IClientUserRepository.cs index 260ddbc..fa2da5f 100644 --- a/DigitalData.UserManager.Infrastructure/Contracts/IClientUserRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Contracts/IClientUserRepository.cs @@ -5,5 +5,6 @@ namespace DigitalData.UserManager.Infrastructure.Contracts { public interface IClientUserRepository : ICRUDRepository { + Task> ReadAsync(bool readOnly = true, int? userId = null); } } \ No newline at end of file diff --git a/DigitalData.UserManager.Infrastructure/Repositories/ClientUserRepository.cs b/DigitalData.UserManager.Infrastructure/Repositories/ClientUserRepository.cs index 418a39f..404976d 100644 --- a/DigitalData.UserManager.Infrastructure/Repositories/ClientUserRepository.cs +++ b/DigitalData.UserManager.Infrastructure/Repositories/ClientUserRepository.cs @@ -11,5 +11,15 @@ namespace DigitalData.UserManager.Infrastructure.Repositories public ClientUserRepository(TDbContext dbContext) : base(dbContext, dbContext.Set()) { } + + public async Task> ReadAsync(bool readOnly = true, int? userId = null) + { + var query = readOnly ? _dbSet.AsNoTracking() : _dbSet.AsQueryable(); + + if (userId is not null) + query = query.Where(cu => cu.UserId == userId); + + return await query.ToListAsync(); + } } } \ No newline at end of file