using DigitalData.UserManager.Domain.Entities; using DigitalData.UserManager.Infrastructure.Contracts; using DigitalData.Core.CleanArchitecture.Infrastructure; using Microsoft.EntityFrameworkCore; namespace DigitalData.UserManager.Infrastructure.Repositories { public class GroupOfUserRepository : CRUDRepository, IGroupOfUserRepository { public GroupOfUserRepository(DDECMDbContext dbContext) : base(dbContext) { } public IQueryable ReadByGroupId(int groupId) { return _dbSet.Where(mou => mou.GroupId == groupId); } public async Task> ReadByGroupUserIdAsync(int groupId, int userId) { return await _dbSet.Where(gou => gou.GroupId == groupId && gou.UserId == userId).ToListAsync(); } public async Task> ReadAllAsyncWithGroup() => await _dbSet.Include(gou => gou.Group).ToListAsync(); public async Task> ReadAllAsyncWithUser() => await _dbSet.Include(gou => gou.User).ToListAsync(); public async Task> ReadAllAsyncWithGroupAndUser() => await _dbSet.Include(gou => gou.Group).Include(gou => gou.User).ToListAsync(); } }