Пример #1
0
        public bool RealizarTransacao(Transacao transacao)
        {
            var realizarDebito = _contasCorrentes.RealizarDebito(transacao.ContaOrigem.Numero, transacao.Valor);

            if (!realizarDebito)
            {
                return(false);
            }

            var lancamentoDebito = new Lancamento
            {
                Acao                = "DEBITO",
                IdTransacao         = VariaveisGlobais.Transacao.ToString(),
                NumeroContaCorrente = transacao.ContaOrigem.Numero,
                Valor               = transacao.Valor
            };

            _lancamentos.InserirLancamentoAsync(lancamentoDebito);

            var realizarCredito = _contasCorrentes.RealizarCredito(transacao.ContaDestino.Numero, transacao.Valor);

            if (!realizarCredito)
            {
                return(false);
            }

            var lancamentoCredito = new Lancamento
            {
                Acao                = "CREDITO",
                IdTransacao         = VariaveisGlobais.Transacao.ToString(),
                NumeroContaCorrente = transacao.ContaDestino.Numero,
                Valor               = transacao.Valor
            };

            _lancamentos.InserirLancamentoAsync(lancamentoCredito);

            return(true);
        }
        public void Testar_Inserir_Lancamento()
        {
            var idTransacao = Guid.NewGuid().ToString();

            var itemNaoExiste = _lancamentos.ObterLancamento(idTransacao);

            Assert.True(!itemNaoExiste.Any());

            var lancamento = new Lancamento
            {
                Acao                = "DEBITO",
                IdTransacao         = idTransacao,
                NumeroContaCorrente = "0123",
                Valor               = 1
            };

            _lancamentos.InserirLancamentoAsync(lancamento);

            var itemExiste = _lancamentos.ObterLancamento(idTransacao);

            Assert.True(itemExiste.Any());
        }