public Lancamentos realizarTransacao(ParametrosEntrada entrada) { Pagamento pagamento = new Pagamento(entrada.Valor, entrada.Parcelas); ContaCorrente conta_entrada = new ContaCorrente(); ContaCorrente conta_saida = new ContaCorrente(); conta_entrada = contas.Where(c => c.Num_Conta == entrada.Num_Conta_Entrada).FirstOrDefault(); conta_saida = contas.Where(c => c.Num_Conta == entrada.Num_Conta_Saida).FirstOrDefault(); Transacao transacao = new Transacao(gerarCodigoAleatorio(10), conta_entrada, conta_saida, pagamento); if (metodosParaTransacoes.isSaldoSuficiente(transacao.Conta_Saida, transacao.Valor_Pagamento.Valor_Pagamento)) { transacoes.Add(transacao); return(metodosParaTransacoes.creditarEDebitar(conta_entrada, conta_saida, pagamento.Valor_Pagamento, pagamento.Num_Parcelas, transacao.Codigo_Transacao)); } else { return(null); } }