public ActionResult <Response> UpdatePassword([FromRoute] Guid id, [FromBody] UpdatePasswordUserRequest model)
        {
            var identity = (ClaimsIdentity)HttpContext.User.Identity;

            _unitOfWork.SetIdentity(identity);

            var user = _unitOfWork.UserRepository.GetSingle(id);

            if (user == null)
            {
                return(Unauthorized(new Response(HttpStatusCode.BadRequest, "Invalid credential")));
            }

            if (!_authService.VerifyPassword(model.OldPassword, user.Password, Convert.FromBase64String(user.Salt)))
            {
                return(BadRequest(new Response(HttpStatusCode.BadRequest, "Invalid credential")));
            }

            var password = _authService.HashPassword(model.NewPassword, out byte[] salt);

            user.Password = password;
            user.Salt     = Convert.ToBase64String(salt);

            _unitOfWork.UserRepository.Update(user);
            _unitOfWork.SaveChanges();

            return(Ok(new Response(HttpStatusCode.OK)));
        }
        public void UpdatePassword()
        {
            var id = Guid.Parse("0528BD60-3D92-43CC-BFB4-A0D117D65CB6");

            var body = new UpdatePasswordUserRequest()
            {
                OldPassword = "******",
                NewPassword = "******",
            };

            var actionResult      = _userController.UpdatePassword(id, body);
            var objectResult      = (ObjectResult)actionResult.Result;
            var objectResultValue = (Response)objectResult.Value;

            Assert.True(objectResult.StatusCode == (int)HttpStatusCode.OK, objectResultValue.Message);
        }