public ApiResponse <bool> ChangePassword(ChangePasswordApiModel model)
        {
            ApiResponse <bool> response = new ApiResponse <bool>();
            string             password = Utility.EncryptData(model.OldPassword);

            var user = _context.UserLogins.Join(_context.Users, a => a.UserId, b => b.Id, (a, b) => a)
                       .Where(x => x.UserId == model.Id && x.Password == password && x.IsActive)
                       .FirstOrDefault();

            if (user != null)
            {
                string newPassword = Utility.EncryptData(model.NewPassword);
                user.Password = newPassword;

                _context.Entry(user).State = EntityState.Modified;
                int rowAffected = _context.SaveChanges();

                response.Result         = rowAffected > 0;
                response.DisplayMessage = "Invalid old Password !!";
            }

            response.DisplayMessage = response.Result? "Success !! Password has changed " : "Failed !! Invalid old Password";

            return(response);
        }
        public async Task <TokenApiModel> ChangeUserPasswordAsync(ChangePasswordApiModel model, string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                throw new BadRequestException(_resourceManager.GetString("UserDoesNotExist"));
            }

            var changeResult = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);

            if (!changeResult.Succeeded)
            {
                throw new BadRequestException(_resourceManager.GetString("PasswordOldInvalid"));
            }

            var token        = _jwtService.CreateToken(_jwtService.SetClaims(user));
            var refreshToken = _jwtService.CreateRefreshToken();

            await _userRepository.UpdateUserTokenAsync(userId, refreshToken);

            await _signInManager.SignInAsync(user, isPersistent : false);

            return(new TokenApiModel {
                Token = token, RefreshToken = refreshToken
            });
        }
Beispiel #3
0
        public JsonResult ChangePassword(ChangePasswordInputModel inputModel)
        {
            try
            {
                Assert.ArgumentNotNull(inputModel, nameof(inputModel));
                var result = this.CreateJsonResult <ChangePasswordApiModel>();
                if (result.HasErrors)
                {
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                var response = AccountManager.UpdateUserPassword(CommerceUserContext.Current.UserName, inputModel);
                result = new ChangePasswordApiModel(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success)
                {
                    result.Initialize(CommerceUserContext.Current.UserName);
                }

                return(Json(result));
            }
            catch (Exception e)
            {
                return(Json(new ErrorApiModel("ChangePassword", e), JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #4
0
        public async Task <ActionResult <SuccessResponseApiModel> > Change(ChangePasswordApiModel model)
        {
            var userId = GetUserId();
            await _passwordManager.ChangePasswordAsync(userId, model.OldPassword, model.NewPassword);

            return(SuccessResult(new SuccessResponseApiModel()
            {
                Response = "success", Id = userId
            }));
        }
Beispiel #5
0
        public async Task <SmartJsonResult <bool> > ChangePassword([FromBody] ChangePasswordApiModel model)
        {
            if (!ModelState.IsValid)
            {
                return(SmartJsonResult <bool> .Failure(GetModelStateErrors(ModelState)));
            }

            var changePasswordResult =
                await _userService.ChangePasswordAsync(model.Email, model.OldPassword, model.NewPassword);

            return(changePasswordResult.IsValid
                ? SmartJsonResult <bool> .Success(true)
                : SmartJsonResult <bool> .Failure(changePasswordResult.ValidationErrors));
        }
Beispiel #6
0
        public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordApiModel model)
        {
            var validator   = new ChangePasswordValidator(_recaptcha, _resourceManager);
            var validResult = validator.Validate(model);

            if (!validResult.IsValid)
            {
                return(BadRequest(new MessageApiModel()
                {
                    Message = validResult.ToString()
                }));
            }

            var userId = User.FindFirst("id")?.Value;
            var result = await _accountService.ChangeUserPasswordAsync(model, userId);

            return(Ok(result));
        }
        public IHttpActionResult ChangePassword(ChangePasswordApiModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = UserManager.ChangePassword(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

                    if (!result.Succeeded)
                    {
                        return(getErrorResult(result));
                    }

                    return(Ok());
                }

                return(BadRequest(ModelState));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Beispiel #8
0
        public IHttpActionResult ChangePassword([FromBody] ChangePasswordApiModel model)
        {
            var response = _UserAccountQueryService.ChangePassword(model);

            return(Ok(response));
        }