public void Avaliar(Cliente pCliente, Decimal pTarifaMensal, Decimal pLimiteCredito, Decimal pCreditoInicial)
        {
            ContaCorrente            _contaCorrente            = null;
            ContaCorrenteEspecial    _contaCorrenteEspecial    = null;
            SAvaliacaoSPC            sAvaliacaoSPC             = new SAvaliacaoSPC();
            SAvaliacaoSerasa         sAvaliacaoSerasa          = new SAvaliacaoSerasa();
            SAvaliacaoPerfil         sAvaliacaoPerfil          = new SAvaliacaoPerfil(pCreditoInicial);
            RepositorioContaCorrente rRepositorioContaCorrente = RepositorioContaCorrente.Instancia();


            sAvaliacaoSPC.Avaliar(pCliente);
            sAvaliacaoSerasa.Avaliar(pCliente);
            Double vValorPerfil = sAvaliacaoPerfil.Avaliar(pCliente);


            if (vValorPerfil == 1)
            {
                _contaCorrente = rRepositorioContaCorrente.CriarContaCorrente(pCliente, _agencia, pTarifaMensal);
                _contaCorrente.Creditar(pCreditoInicial);
                rRepositorioContaCorrente.Alterar <ContaCorrente>(_contaCorrente);
            }
            else if (vValorPerfil == 2)
            {
                _contaCorrenteEspecial = rRepositorioContaCorrente.CriarContaCorrente(pCliente, _agencia, pTarifaMensal, pLimiteCredito);
                _contaCorrenteEspecial.Creditar(pCreditoInicial);
                rRepositorioContaCorrente.Alterar <ContaCorrenteEspecial>(_contaCorrenteEspecial);
            }
        }
        public void Teste_Saque_atualiza_saldo_ContaCorrenteEspecial()
        {
            var conta = new ContaCorrenteEspecial();
            conta.Situacao = ContaCorrenteEstado.Bloqueada;
            conta.Creditar(0);
            conta.LimiteDeCredito = 300;
            conta.Numero = "333";

            SaqueService ss = new SaqueService(conta, 100);
            ss.Executar();

            decimal expected = -200.00m;
            var actual = conta.Saldo;

            //testa atualização do saldo
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 3
0
        public void Teste_Saque_atualiza_saldo_ContaCorrenteEspecial()
        {
            var conta = new ContaCorrenteEspecial();

            conta.Situacao = ContaCorrenteEstado.Bloqueada;
            conta.Creditar(0);
            conta.LimiteDeCredito = 300;
            conta.Numero          = "333";

            SaqueService ss = new SaqueService(conta, 100);

            ss.Executar();

            decimal expected = -200.00m;
            var     actual   = conta.Saldo;

            //testa atualização do saldo
            Assert.AreEqual(expected, actual);
        }