public Task <Role> FindByNameAsync(string normalizedRoleName, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(normalizedRoleName)) { throw new ArgumentNullException(nameof(normalizedRoleName), "Parameter normalizedRoleName cannot be null or empty."); } cancellationToken.ThrowIfCancellationRequested(); return(_rolesRepository.FindByNameAsync(normalizedRoleName)); }
public static async Task <bool> IsInRoleAsync(this IUsersRolesRepository usersRoles, Guid userId, string roleName, IRolesRepository roles, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var role = await roles.FindByNameAsync(roleName, false, cancellationToken); if (role is null) { return(false); } return(await usersRoles.FindUserRoleAsync(userId, role.Id, cancellationToken) is not null); }
public static async Task <IReadOnlyCollection <User> > GetUsersInRoleAsync(this IUsersRolesRepository usersRoles, string roleName, IRolesRepository roles, IUsersRepository users, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var role = await roles.FindByNameAsync(roleName, false, cancellationToken); var userIdCollection = (await usersRoles.ProcessQueryAsync(usersRoles.AsQueryable().Where(x => x.RoleId == role.Id), cancellationToken)).Select(x => x.UserId); return(await users.ProcessQueryAsync(users.AsQueryable().Where( user => userIdCollection.Contains(user.Id)), cancellationToken)); }
public async Task <Role> FindByNameAsync(string normalizedRoleName, CancellationToken cancellationToken) { return(await _roles.FindByNameAsync(normalizedRoleName, true, cancellationToken)); }
protected override async Task <Role> FindRoleAsync(string normalizedRoleName, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); return(await _roles.FindByNameAsync(normalizedRoleName, true, cancellationToken)); }