public virtual void depositar(TransacaoContaModel contaModel) { Conta conta = _repositoryConta.Get(contaModel.Agencia, contaModel.NumConta); conta.Saldo += contaModel.Valor; _repositoryConta.Save(conta); }
public virtual void transferir(TransferenciaContaModel contaModel) { var contaModelOrigin = new TransacaoContaModel(contaModel.AgenciaOrigem, contaModel.NumContaOrigem, contaModel.Token, contaModel.Valor); var contaModelDestiny = new TransacaoContaModel(contaModel.AgenciaDestino, contaModel.NumContaDestino, "", contaModel.Valor); sacar(contaModelOrigin); contaModelDestiny.Valor = contaModelOrigin.Valor; depositar(contaModelDestiny); }
public IActionResult DepositarConta([FromBody] TransacaoContaModel contaModel) { try { _serviceConta.depositar(contaModel); return(Ok()); } catch (Exception e) { return(BadRequest(e)); } }
public virtual void sacar(TransacaoContaModel contaModel) { if (_repositoryCliente.AuthenticateToken(contaModel.Token)) { var conta = _repositoryConta.Get(contaModel.Agencia, contaModel.NumConta); conta.Saldo -= contaModel.Valor; if (conta.Saldo >= 0) { _repositoryConta.Save(conta); } else { throw new Exception("Saldo insuficiente."); } } else { throw new Exception("Token invalido"); } }