public UsuarioModel Atualizar(AtualizarUsuarioRequest request, long idUsuarioAutenticado)
        {
            request.Validar();

            var usuario = _repositorioUsuario.Obter(idUsuarioAutenticado);

            usuario.Atualizar(request.ParaEntidade());
            new ValidacaoAtualizacaoUsuario(_repositorioUsuario).Validar(usuario);

            _unitOfWork.IniciarTransacao();

            _repositorioEndereco.Inserir(usuario.Endereco);
            _repositorioUsuario.Atualizar(usuario);
            _repositorioUsuarioCausa.Atualizar(usuario);

            _unitOfWork.ExecutarCommit();

            return(new UsuarioModel(usuario));
        }