public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordModel model)
        {
            var request = new ChangeUserPasswordOperationRequest
            {
                NewPassword = model.NewPassword,
                OldPassword = model.OldPassword
            };

            try
            {
                await _changeUserPasswordOperation.Execute(request);
            }
            catch (WrongPasswordException exception)
            {
                return(BadRequest(new ErrorModel(exception.Message)));
            }
            return(Ok());
        }
        public async Task Execute(ChangeUserPasswordOperationRequest request)
        {
            Task <IdentityUser> identityTask = _authorizationContext.CurrentIdentity();

            string oldPasswordHash = Sha256Hash.Calculate(request.OldPassword);
            string newPasswordHash = Sha256Hash.Calculate(request.NewPassword);

            IdentityUser identity = await identityTask;

            if (identity.PasswordHash == oldPasswordHash)
            {
                identity.PasswordHash = newPasswordHash;
                await _userRepository.UpdateAsync(identity);
            }
            else
            {
                throw new WrongPasswordException();
            }
        }