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); }
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); }
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); } }