public IActionResult Transferencia(Transacao transferencia) { try { bool transferenciaEfetuada = _transacaoRepositorio.Transferencia(transferencia); if (transferenciaEfetuada) { _contaRepositorio.Transferencia(transferencia.numeroConta, transferencia.numeroContaOrigem, transferencia.numeroContaDestino, transferencia.valor); } else { return(new ObjectResult("Transferência não efetuada.")); } } catch (Exception e) { return(new ObjectResult(e)); } return(new ObjectResult(_contaRepositorio.FindByContaOrigem(transferencia.numeroContaOrigem))); }
public IActionResult Create([FromBody] Transacao transacao) { var _conta = _contaRepositorio.FindByConta(transacao.numeroConta); bool validador = false; if (_contaRepositorio.FindByConta(transacao.numeroContaDestino) != null && transacao.numeroContaDestino != transacao.numeroConta) { validador = true; } if ((transacao.senhaTransacoes == _conta.senhaTransacoes)) { if (transacao.idTipoTransacao == 1 && 0 < transacao.valor) { transacao.dtTransacao = DateTime.Now.ToString("dd/MM/yyyy"); _contaRepositorio.Deposito(transacao.numeroConta, transacao.numeroContaDestino, transacao.valor); _transacaoRepositorio.Deposito(transacao); } else if (transacao.idTipoTransacao == 2 && _conta.saldoAtual >= transacao.valor) { transacao.dtTransacao = DateTime.Now.ToString("dd/MM/yyyy"); _contaRepositorio.Saque(transacao.numeroConta, transacao.numeroContaOrigem, transacao.valor); _transacaoRepositorio.Saque(transacao); } else if (transacao.idTipoTransacao == 3 && _conta.saldoAtual >= transacao.valor && validador == true) { transacao.dtTransacao = DateTime.Now.ToString("dd/MM/yyyy"); _contaRepositorio.Transferencia(transacao.numeroConta, transacao.numeroContaOrigem, transacao.numeroContaDestino, transacao.valor); _transacaoRepositorio.Transferencia(transacao); } return(new ObjectResult(_transacaoRepositorio.FindByID(transacao.idTransacao))); } else { return(BadRequest()); } }