using TIAM.Database.DbContexts.ServiceProviders; using TIAM.Entities.Users; namespace TIAM.Database.DbSets.Users; public static class AssignedUserDbSetExtensions { public static IQueryable GetAssignedUsersByPermissionGroupId(this ServiceProviderDbContext ctx, Guid permissionGroupId) { return ctx.AssignedUsers .Where(user => ctx.PermissionGroupUserMappings .Where(x => x.PermissionGroupId == permissionGroupId) .Select(x => x.AssignedUserId) .Contains(user.Id)); } public static AssignedUser? GetAssignedUserById(this IAssignedUserDbSet ctx, Guid assignedUserId) => ctx.AssignedUsers.FirstOrDefault(x => x.Id == assignedUserId); public static IQueryable GetAssignedUsersByContextId(this IAssignedUserDbSet ctx, Guid contextId) => ctx.AssignedUsers.Where(x => x.ContextId == contextId); }