Beispiel #1
0
        public void TestCase1()
        {
            var transacao = new Transacao
            {
                Id        = 30,
                Extornado = false
            };

            _moq.GetMock <IBaseRepository <Transacao> >().Setup(x => x.GetById(It.IsAny <int>())).Returns(transacao);
            _moq.GetMock <IBaseRepository <Transacao> >().Setup(x => x.Update(transacao));

            var transacaoUpdate = new Transacao
            {
                Id            = 30,
                Extornado     = true,
                TipoTransacao = TipoTransacao.Aporte,
                CodigoAporte  = "ABC123",
                DataCriacao   = DateTime.Now,
                DataExtorno   = DateTime.Now,
                ContaDestino  = Conta.Criar("Nome Conta", PessoaFisica.Criar("33792235811", "andre", DateTime.Now))
            };

            var retorno = new TransacoesResponse(transacaoUpdate);

            Assert.True(retorno.Extornado);
        }
        public TransacoesResponse ExtornaTransacao(TransacaoExtornoRequest input)
        {
            TransacoesResponse retorno;

            try
            {
                var transacao = _transacaoRepository.GetById(input.TransacaoId);

                Ensure.NotNull(transacao, $"Não Existe nenhuma transação de Id {input.TransacaoId}");

                transacao.Extornado   = true;
                transacao.DataExtorno = DateTime.Now;

                _transacaoRepository.Update(transacao);

                retorno = new TransacoesResponse(transacao);
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao ExtornaTransacao. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }
        public TransacoesResponse CriaAporte(TransacaoAporteRequest input)
        {
            TransacoesResponse retorno;

            try
            {
                var conta           = _contaRepository.GetById(input.ContaDestinoId);
                var transacaoAporte = Transacao.CriaAporte(conta, input.Valor);
                transacaoAporte = _transacaoRepository.Add(transacaoAporte);

                retorno = new TransacoesResponse(transacaoAporte);
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao CriaAporte. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }
        public TransacoesResponse ObtemTransacao(int transacaoId)
        {
            TransacoesResponse retorno;

            try
            {
                var transacao = _transacaoRepository.GetById(transacaoId);

                Ensure.NotNull(transacao, $"Não Existe nenhuma transação de Id {transacaoId}");

                retorno = new TransacoesResponse(transacao);
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao ObtemTransacao. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }
        public TransacoesResponse CriaTransferencia(TransacaoTransferenciaRequest input)
        {
            TransacoesResponse retorno;

            try
            {
                var contaOrigem  = _contaRepository.GetById(input.ContaOrigemId);
                var contaDestino = _contaRepository.GetById(input.ContaDestinoId);

                var transacaoTransferencia = Transacao.CriaTransferencia(contaOrigem, contaDestino, input.Valor);
                transacaoTransferencia = _transacaoRepository.Add(transacaoTransferencia);
                retorno = new TransacoesResponse(transacaoTransferencia);
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao CriaTransferencia. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }