Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Acredito que no método Transferir esteja debitando 2 vezes do saldo

public bool Transferir (double valor, ContaCorrente contaDestino)
{
    try
    {
        Sacar(valor); # Já esta efetuando o saque, ou seja, ja debita do saldo o valor a ser transferido
    }
    catch (SaldoInsuficienteException ex)
    {
        ContadorTransferenciasNaoPermitidas++;
        throw new OperacaoFinanceiraException("Operação não realizada.", ex);
    }

    _saldo -= valor; #Esta debitando novamente o valor
    contaDestino.Depositar(valor);
    return true;
}
2 respostas
solução!

Bom dia André, tudo blz camarada?

Então remova a linha _saldo -= valor;, verifique antes se o campo _saldo está sendo encapsulado pelo método Sacar().

public bool Transferir (double valor, ContaCorrente contaDestino)
{
    try
    {
        Sacar(valor); # Já esta efetuando o saque, ou seja, ja debita do saldo o valor a ser transferido
    }
    catch (SaldoInsuficienteException ex)
    {
        ContadorTransferenciasNaoPermitidas++;
        throw new OperacaoFinanceiraException("Operação não realizada.", ex);
    }

    //LINHA REMOVIDA
    contaDestino.Depositar(valor);
    return true;
}

Espero que tenha ajudado e, qualquer coisa, estamos à disposição!

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Opa! Obrigado professor, pelo feedback! Já tinha retirado sim!