Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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());
            }
        }
Exemplo n.º 4
0
        public async Task <int> GetUserId()
        {
            HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

            int UserID = user.Id;

            return(UserID);
        }
Exemplo n.º 5
0
        public async Task <bool?> IsSuperAdmin()
        {
            HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

            bool?IsUserASuperAdmin = user.SuperAdmin;

            return(IsUserASuperAdmin ?? false);
        }
Exemplo n.º 6
0
        public async Task <int?> GetUserOrganizationID()
        {
            HCMUser user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

            int?CurrentUserOrganizationID = user.OrganizationID;

            return(CurrentUserOrganizationID ?? 0);
        }
Exemplo n.º 7
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);
            }
        }