using DigitalData.Core.Infrastructure; using DigitalData.UserManager.Application.Contracts.Repositories; using DigitalData.UserManager.Domain.Entities; using DigitalData.UserManager.Infrastructure.Contracts; using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories; [Obsolete("Use Repository")] public class UserRepRepository : CRUDRepository, IUserRepRepository where TDbContext : DbContext, IUserManagerDbContext { public UserRepRepository(TDbContext dbContext) : base(dbContext, dbContext.UserReps) { } public async Task> ReadAllAsync( bool withUser = false, bool withRepGroup = false, bool withGroup = false, bool withRepUser = false, int? userId = null, int? repUserId = null, int? groupId = null, int? repGroupId = null, bool readOnly = true) { var query = readOnly ? _dbSet.AsNoTracking() : _dbSet.AsQueryable(); if (withUser) query = query.Include(ur => ur.User); if (withRepGroup) query = query.Include(ur => ur.RepGroup); if (withGroup) query = query.Include(ur => ur.Group); if (withRepUser) query = query.Include(ur => ur.RepUser); if (userId is not null) query = query.Where(ur => ur.UserId == userId); if (repUserId is not null) query = query.Where(ur => ur.RepUserId == repUserId); if (groupId is not null) query = query.Where(ur => ur.GroupId == groupId); if (repGroupId is not null) query = query.Where(ur => ur.RepGroupId == repGroupId); return await query.ToListAsync(); } }