/// <summary> /// Removes the unused roles for the users /// </summary> /// <param name="userDbAccess">Usser Db Access</param> /// <returns>Task</returns> private async Task RemoveUnusedRolesForUsers(IUserDbAccess userDbAccess) { List <string> existingRoles = RoleNames.GetAllRoleNames(); IList <GoNorthUser> users = await userDbAccess.GetUsers(0, int.MaxValue); foreach (GoNorthUser curUser in users) { IEnumerable <string> deletedRoles = curUser.Roles.Except(existingRoles); if (deletedRoles != null && deletedRoles.Any()) { GoNorthUser user = await userDbAccess.GetUserById(curUser.Id); user.Roles = curUser.Roles.Except(deletedRoles).ToList(); await userDbAccess.UpdateUser(user); } } }
/// <summary> /// Updates a user /// </summary> /// <param name="user">User</param> /// <param name="cancellationToken">Cancellation token</param> /// <returns>Result</returns> public async Task <IdentityResult> UpdateAsync(GoNorthUser user, CancellationToken cancellationToken) { await _UserDbAccess.UpdateUser(user); return(IdentityResult.Success); }