コード例 #1
0
        /// <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);
                }
            }
        }
コード例 #2
0
ファイル: GoNorthUserStore.cs プロジェクト: xenonsin/GoNorth
        /// <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);
        }