public async Task <IActionResult> OnPostAddUserInRole() { if (ModelState.IsValid) { HCMUser user = await _userManager.FindByIdAsync(UserId); HCMRole role = await _roleManager.FindByIdAsync(RoleId); IdentityResult result = await _userManager.AddToRoleAsync(user, role.Name); if (result.Succeeded) { Message = $" موفقانه به {user.UserName} تعین شد {role.Name}"; return(Page()); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(Page()); } } else { return(Page()); } }
public async Task <List <string> > Handle(CreateUserCommand request, CancellationToken cancellationToken) { // Final Result List <string> fresult = new List <string>(); string GeneratedPassword = CredentialHelper.GenerateRandomPassowrd(CredentialHelper.SystemPasswordPolicy); HCMUser user = new HCMUser() { UserName = request.UserName, Email = request.Email, OrganizationID = request.OrganizationID, EmployeeID = request.EmployeeID, PasswordChanged = request.PasswordChanged }; IdentityResult result = await _userManager.CreateAsync(user, GeneratedPassword); if (result.Succeeded) { fresult.Add(GeneratedPassword); } else { StringBuilder ErrorBuilder = new StringBuilder(); foreach (IdentityError error in result.Errors) { ErrorBuilder.Append(error.Description).Append("\n"); } throw new BusinessRulesException(ErrorBuilder.ToString()); } return(fresult); }
public async Task <IActionResult> OnPostChangePassword() { HCMUser CurrentUser = await _userManager.FindByNameAsync(User.Identity.Name); IdentityResult PaswordChangeResult = await _userManager.ChangePasswordAsync(CurrentUser, CurrentPassword, NewPassword); if (PaswordChangeResult.Succeeded) { CurrentUser.PasswordChanged = true; await _userManager.UpdateAsync(CurrentUser); Message = "کاربر عزیز رمز عبور شما موفقانه تعغیر یافت"; return(Page()); } else { foreach (var error in PaswordChangeResult.Errors) { ModelState.AddModelError(string.Empty, error.Description); Message += "\n " + error.Description; } return(Page()); } }
public async Task <int> GetUserId() { HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User); int UserID = user.Id; return(UserID); }
public async Task <bool?> IsSuperAdmin() { HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User); bool?IsUserASuperAdmin = user.SuperAdmin; return(IsUserASuperAdmin ?? false); }
public async Task <int?> GetUserOrganizationID() { HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User); int?CurrentUserOrganizationID = user.OrganizationID; return(CurrentUserOrganizationID ?? 0); }
protected async override Task HandleRequirementAsync(AuthorizationHandlerContext context, NewlyRegisteredUsers requirement) { HCMUser currentUser = await _userManager.FindByNameAsync(context.User.Identity.Name); if (currentUser.PasswordChanged == requirement._PasswordMustNotBeChanged) { context.Fail(); } else { context.Succeed(requirement); } }