public async Task <AutenticarClienteCommandResult> Handle(AutenticarClienteCommand request, CancellationToken cancellationToken)
        {
            var senhaCriptografada = request.Senha.Criptografar();

            var cliente = await
                          _clienteRepositorio.ObterClientePorCredenciaisAsync(request.Documento, senhaCriptografada,
                                                                              cancellationToken);

            if (cliente == null)
            {
                throw new ClienteNaoAutenticadoException("Usuário ou senha incorreto.");
            }

            var contaCorrente = await _contaCorrenteRepositorio.ObterContaPorDocumentoAsync(cliente.Documento, cancellationToken);

            if (contaCorrente == null)
            {
                throw new ClienteNaoPossuiContaCorrenteException("Cliente não possuí conta corrente, favor cadastrar.");
            }

            return(new AutenticarClienteCommandResult
            {
                IdentificadorConta = contaCorrente.IdentificadorConta,
            });
        }