public RepositorioContaCorrenteTest()
 {
     //
     // TODO: Add constructor logic here
     //
     repositorioContaCorrente = RepositorioContaCorrente.Instancia();
 }
        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);
            }
        }
예제 #3
0
        public void TestarInstanciaUnica()
        {
            RepositorioContaCorrente repositorio1 = RepositorioContaCorrente.Instancia();
            RepositorioContaCorrente repositorio2 = RepositorioContaCorrente.Instancia();

            Assert.AreSame(repositorio1, repositorio2);
        }
예제 #4
0
 public RepositorioContaCorrenteTest()
 {
     //
     // TODO: Add constructor logic here
     //
     repositorioContaCorrente = RepositorioContaCorrente.Instancia();
 }
        public static Cliente CadastrarPessoaFisica(string nome, string email, string dddTelefone, string telefone, string dddCelular, string celular, string cpf, string rg, string sexo, DateTime dtNascimento, string tipoLogradouro, string logradouro, int numero, string comp, string bairro, string cidade, string uF, string cep, decimal Salario, int numeroAgencia)
        {
            if (DateTime.Now.Year - dtNascimento.Year < 18)
            {
                throw new InvalidOperationException("Perfil do cliente não atende: Idade inferior a 18");
            }

            var cliente = RepositorioCliente.CriarPessoaFisica(nome, email, dddTelefone, telefone, dddCelular, celular, cpf, rg, sexo, dtNascimento, tipoLogradouro, logradouro, numero, comp, bairro, cidade, uF, cep);

            // "Acha"já dá erro se nao existir a agencia!!!
            var agencia = RepositorioAgencia.Acha(numeroAgencia);


            // CRIAR UMA CONTA CORRENTE
            if (Salario > 5000)
            {
                RepositorioContaCorrente.AbrirContaEspecial(cliente, agencia, Salario * 2);
            }
            else
            {
                RepositorioContaCorrente.AbrirContaNormal(cliente, agencia);
            }


            return(cliente);
        }
예제 #6
0
        public void ConsultarContaExistente()
        {
            RepositorioContaCorrente rContaCorrente = RepositorioContaCorrente.Instancia();
            ContaCorrente            contaCorrente  = new ContaCorrente();

            contaCorrente.Agencia = "031";
            contaCorrente.Numero  = "1023";
            rContaCorrente.Inserir <ContaCorrente>(contaCorrente);
            rContaCorrente.ObterContaCorrente <ContaCorrente>(contaCorrente.Agencia, contaCorrente.Numero);
        }
예제 #7
0
        public void CriarContaCorrenteEspecial()
        {
            RepositorioContaCorrente rContaCorrente = RepositorioContaCorrente.Instancia();
            PessoaFisica             pessoaFisica   = new PessoaFisica();

            pessoaFisica.Nome = "Ronaldo Corbo";
            pessoaFisica.CPF  = "01235";
            ContaCorrenteEspecial contaCorrenteEspecial = rContaCorrente.CriarContaCorrente(pessoaFisica, "0312", 11, 100);

            Assert.IsNotNull(contaCorrenteEspecial);
        }
예제 #8
0
        public void CriarContaCorrente()
        {
            RepositorioContaCorrente rContaCorrente = RepositorioContaCorrente.Instancia();
            PessoaFisica             pessoaFisica   = new PessoaFisica();

            pessoaFisica.Nome = "Poliana Corbo";
            pessoaFisica.CPF  = "01234";
            ContaCorrente contaCorrente = rContaCorrente.CriarContaCorrente(pessoaFisica, "0312", 11);

            Assert.IsNotNull(contaCorrente);
        }
예제 #9
0
        public void SolicitarAberturaDeContaPessoaFisica_SegundaConta()
        {
            RepositorioAgencia.Limpa();
            RepositorioContaCorrente.Limpa();
            RepositorioAgencia.Criar(125, "ag 125", 1, "banco");


            Assert.IsNotNull(ServicoCliente.CadastrarPessoaFisica("Edson", "*****@*****.**", "21", "1234-5678", "21", "9876-5432", "1234567890", "55889966", "M", new DateTime(1985, 10, 3), "AV", "Americas", 3000, "", "Barra da Tijuca", "Rio de Janeiro", "RJ", "22640102", 4999, 125));
            var cliente2 = ServicoCliente.CadastrarPessoaFisica("Edson2", "*****@*****.**", "21", "1234-5678", "21", "9876-5432", "1234567890", "55889966", "M", new DateTime(1985, 10, 3), "AV", "Americas2", 3000, "", "Barra da Tijuca2", "Rio de Janeiro", "RJ", "22640102", 4999, 125);

            var conta = RepositorioContaCorrente.Listar().Where(c => c.Cliente == cliente2).First();

            Assert.AreEqual(2, conta.Numero);
        }
예제 #10
0
        public ContaCorrente PreparaAmbienteTeste()
        {
            ContaCorrente conta = null;

            var firstOrDefault = RepositorioContaCorrente.Listar().FirstOrDefault();

            if (firstOrDefault != null)
            {
                conta = firstOrDefault;
            }
            else
            {
                conta = (ContaCorrente)GetContaPorTipoCliente(CarregaCliente());
                Repositorio.RepositorioContaCorrente.Adicionar(conta);
            }

            return(conta);
        }