示例#1
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel changePasswordModel)
        {
            var userId = Convert.ToInt32(User.Identity.Name);

            var currentPassword = EncryptionHelper.Decrypt(await _representativeUserService.GetPassword(userId), EncryptionHelper.Key);

            if (currentPassword != changePasswordModel.CurrentPassword)
            {
                ModelState.AddModelError("", "کلمه عبور فعلی اشتباه است.");
                return(this.JsonValidationErrors());
            }

            _representativeUserService.ChangePassword(userId, EncryptionHelper.Encrypt(changePasswordModel.NewPassword, EncryptionHelper.Key));

            await _dbContext.SaveChangesAsync();

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