public string contaDebito;
public string contaCredito;
public class Contabilidade
private Transacao[] transacoes;
public void LancarTransacao(Transacao transacao)
Array.Resize(ref transacoes, transacoes.Length + 1);
transacoes[transacoes.Length - 1] = transacao;
Conta contaDebito = EncontrarConta(transacao.contaDebito);
contaDebito.Lancar(transacao.valor, transacao.descricao, transacao.data);
Conta contaCredito = EncontrarConta(transacao.contaCredito);
contaCredito.Lancar(-transacao.valor, transacao.descricao, transacao.data);
private Conta EncontrarConta(string nomeConta)
public Transacao[] transacoes;
public void Lancar(decimal valor, string descricao, DateTime data)
Array.Resize(ref transacoes, transacoes.Length + 1);
transacoes[transacoes.Length - 1] = new Transacao
contaDebito = valor < 0 ? nome : null,
contaCredito = valor > 0 ? nome : null