TourIAm/TIAM.Database/DbSets/Users/AssignedUserDbSetExtensions.cs

22 lines
927 B
C#

using TIAM.Database.DbContexts.ServiceProviders;
using TIAM.Entities.Users;
namespace TIAM.Database.DbSets.Users;
public static class AssignedUserDbSetExtensions
{
public static IQueryable<AssignedUser> 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<AssignedUser> GetAssignedUsersByContextId(this IAssignedUserDbSet ctx, Guid contextId)
=> ctx.AssignedUsers.Where(x => x.ContextId == contextId);
}