public void abrir(DadosAberturaConta dadosDaConta) {
var cliente = new Cliente(dadosDaConta.dadosCliente());
var conta = new Conta(dadosDaConta.numero(), cliente);
if (contas.contains(conta)) {
throw new RegraDeNegocioException("Já existe outra conta aberta com o mesmo número!");
}
String sql = "INSERT INTO conta (numero, saldo, cliente_nome, cliente_cpf, cliente_email) VALUES (? ,? ,? ,? ,?)";
// recuperar a conexao na fabrica de conexao que já foi instaciada
Connection con = connection.recuperarConexao();
try{
PreparedStatement preparedStatement = con.prepareStatement(sql);
preparedStatement.setInt(1, conta.getNumero());
preparedStatement.setBigDecimal(2, BigDecimal.ZERO);
preparedStatement.setString(3,dadosDaConta.dadosCliente().nome());
preparedStatement.setString(4,dadosDaConta.dadosCliente().cpf());
preparedStatement.setString(5,dadosDaConta.dadosCliente().email());
} catch (SQLException e) {
throw new RuntimeException(e);
}
}