public async Task <IActionResult> PutPassword(
            [FromRoute] string email,
            [FromBody] UpdateUserPasswordRequest request)
        {
            if (email == null)
            {
                throw new ArgumentNullException(nameof(email));
            }

            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var user = await this.UserManager.FindByEmailAsync(email);

            if (user == null)
            {
                return(this.NotFound());
            }

            var result = await this.UserManager.ChangePasswordAsync(user, request.CurrentPassword, request.NewPassword);

            return(this.ConvertIdentityResultToResponse(result));
        }
        public async Task <IActionResult> UpdateUserPassword(
            [FromRoute] int userId,
            [FromBody] UpdateUserPasswordRequest updateModel)
        {
            var userEntity = await _userService.GetByIdAsync(userId);

            if (userEntity == null)
            {
                return(NotFound());
            }

            var id            = int.Parse(HttpContext.GetUserIdFromRequest());
            var isUserOwnInfo = await _userService.IsUserOwnInfo(userId, id);

            if (!isUserOwnInfo)
            {
                return(Unauthorized("Bạn không có quyền thay đổi thông tin tài khoản này"));
            }

            _mapper.Map <UpdateUserPasswordRequest, User>(updateModel, userEntity);

            var isUserUpdated = await _userService.UpdateUserPassword(userEntity, updateModel.oldPassword, updateModel.newPassword, updateModel.confirmPassword);

            if (!isUserUpdated.IsSuccess)
            {
                return(BadRequest(new UpdateUserPasswordResult
                {
                    Errors = isUserUpdated.Errors
                }));
            }

            var userResponse = _mapper.Map <UserResponse>(userEntity);

            return(Ok("Cập nhật mật khẩu thành công"));
        }
Ejemplo n.º 3
0
        public async Task UpdateUserPassword(UpdateUserPasswordRequest request)
        {
            var sqlStoredProc = "sp_user_update_password";

            await DapperAdapter.GetFromStoredProcAsync <int?>
            (
                storedProcedureName : sqlStoredProc,
                parameters : request,
                dbconnectionString : DefaultConnectionString,
                sqltimeout : DefaultTimeOut,
                dbconnection : _connection,
                dbtransaction : _transaction);
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> UpdateUserPassword([FromBody] UpdateUserPasswordRequest updatePassword)
        {
            try
            {
                await _userServices.UpdateUserPassword(updatePassword.UserId, updatePassword.Password);

                return(Ok());
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Ejemplo n.º 5
0
        public async Task <ResultData> UpdateUserPassword([FromBody] UpdateUserPasswordRequest request)
        {
            UserInfo userInfo = HttpContext.Session.GetData <UserInfo>("user");

            if (userInfo.Password != ApiUtils.MD5Encode(request.OldPassword, "32"))
            {
                return(ResultData.CreateResult("-1", "旧密码不正确", null));
            }
            userInfo.Password = ApiUtils.MD5Encode(request.NewPassword, "32");

            if (await _dbContext.Updateable(userInfo).ExecuteCommandAsync() > 0)
            {
                HttpContext.Session.SetData("user", userInfo);
                return(ResultData.CreateSuccessResult());
            }
            else
            {
                return(ResultData.CreateResult("-1", "更新失败", null));
            }
        }
Ejemplo n.º 6
0
        public async Task UpdateUserPassword(UpdateUserPasswordRequest request)
        {
            CurrentUser currentUser = MemoryCache.Default["currentUser"] as CurrentUser;

            User user = await _unitOfWork.Users.All()
                        .FirstOrDefaultAsync(x => x.Id == currentUser.Id);

            if (user == null)
            {
                throw new NotFoundException();
            }

            if (user.Password != request.CurrentPassword)
            {
                throw new BadRequestException();
            }

            user.Password = request.NewPassword;

            _unitOfWork.Users.Update(user);
            await _unitOfWork.SaveAsync();
        }
        public IActionResult UpdateUserPassword([FromBody] UpdateUserPasswordRequest request)
        {
            if (string.IsNullOrWhiteSpace(request.Username) ||
                string.IsNullOrWhiteSpace(request.Password) ||
                string.IsNullOrWhiteSpace(request.UpdatedPassword))
            {
                return(BadRequest());
            }
            var user = UserRepository.GetUserByCredentials(request.Username, request.Password);

            if (user == null)
            {
                return(BadRequest());
            }
            //make sure to salt and hash the user password
            user.Password = _crypto.GenerateSaltedHash(request.UpdatedPassword);
            if (UserRepository.UpdateUser(user))
            {
                return(Ok());
            }
            return(BadRequest());
        }
Ejemplo n.º 8
0
        public async Task <HttpResponseMessage> UpdateUserPassword([FromBody] UpdateUserPasswordRequest request)
        {
            await _userService.UpdateUserPassword(request);

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }