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);
        }
Exemple #3
0
 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");
     }
 }