コード例 #1
0
        public ActionResult Lancamento([FromBody] LancamentoSchema lancamentoSchema)
        {
            if (lancamentoSchema == null)
            {
                return(BadRequest());
            }

            return(Ok(_lancamentoService.Lancamento(lancamentoSchema)));
        }
        public void SaldoInsuficiente()
        {
            LancamentoSchema _mock = new LancamentoSchema()
            {
                ContaDestinoId = 1,
                ContaOrigemId  = 1,
                Valor          = 100000000000
            };

            string retorno = _lancamentoService.Lancamento(_mock);

            Assert.Equal("Conta não possui saldo para realizar a transação.", retorno);
        }
        public void OperacaoRealizada()
        {
            LancamentoSchema _mock = new LancamentoSchema()
            {
                ContaDestinoId = 1,
                ContaOrigemId  = 1,
                Valor          = 10
            };

            string retorno = _lancamentoService.Lancamento(_mock);

            Assert.Equal("Operação efetuada com sucesso!", retorno);
        }
コード例 #4
0
        public void Debito(ContaCorrente entity, LancamentoSchema schema)
        {
            Lancamento lancamento = new Lancamento()
            {
                ContaCorrenteId = schema.ContaOrigemId,
                TipoOperacao    = TipoOperacao.Debito,
                Valor           = schema.Valor
            };

            _lancamentoRepository.Create(lancamento);

            entity.Saldo -= schema.Valor;
            _contaCorrenteRepository.Update(entity);
        }
コード例 #5
0
        public string Lancamento(LancamentoSchema lancamentoSchema)
        {
            ContaCorrente contaOrigem = _contaCorrenteRepository.Find(lancamentoSchema.ContaOrigemId);

            if (_validacao.Validator(contaOrigem, lancamentoSchema))
            {
                this.Debito(contaOrigem, lancamentoSchema);
                this.Credito(contaOrigem, lancamentoSchema);

                return("Operação efetuada com sucesso!");
            }
            else
            {
                return(_validacao.Informacao);
            }
        }