コード例 #1
0
        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);
            }
        }