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 ContaCorrente(Cliente pCliente, String pAgencia, String pNumeroConta, Decimal pTarifaMensal) { _titular = pCliente; Agencia = pAgencia; Numero = pNumeroConta; Tarifa = pTarifaMensal; _status = StatusContaCorrente.Ativa; if (_titular == null || Numero == String.Empty || Tarifa <= 0) throw new Exception("Não é possível criar uma conta corrente sem que o titular, número da conta ou tarifa"); }
public Double Avaliar(Cliente pCliente) { Double vResult = 0; if (_creditoInicial < 50) throw new ExClienteSemPerfil("Cliente não possui perfil para abrir um conta corrente"); else if (_creditoInicial >= 50 && _creditoInicial < 10000) vResult = 1; // Conta Corrente Comum; else if (_creditoInicial >= 10000) vResult = 2; // Conta Corrente Especial return vResult; }
public void ClienteNormalContaTest() { Normal target = new Normal(); Cliente esperado = new Cliente(); esperado.Nome = "Glebson"; Cliente retornado; target.Nome = esperado; retornado = target.Nome; Assert.AreEqual(esperado, retornado); }
public Double Avaliar(Cliente pCliente) { number = random.NextDouble(); return System.Math.Round(number, 1); }
public ContaCorrenteEspecial(Cliente pCliente, String pAgencia, String pNumeroConta, Decimal pTarifaMensal, Decimal pLimite) { _limite = pLimite; }