Beispiel #1
0
        public async Task <bool> EnableUser(string userId, string roleId, string actionUrl)
        {
            var user = _userManager.FindById(userId);
            var role = _roleManager.FindById(roleId);

            // If user or role are wrong return false
            if (user == null || role == null)
            {
                return(false);
            }

            user.AdminEnabled = true;

            IdentityResult result;

            result = await _userManager.UpdateAsync(user);

            // Update user roles
            var currentRoles = _userManager.GetRoles(user.Id);

            if (currentRoles.Any())
            {
                await _userManager.RemoveFromRolesAsync(user.Id, currentRoles.ToArray());
            }

            await _userManager.AddToRoleAsync(user.Id, role.Name);

            await SendEmailValidationToken(user.Email, actionUrl);

            return(result.Succeeded);
        }