예제 #1
0
        public GestorPrestamos()
        {
            this.iEvaluadoresPorCliente = new Dictionary<TipoCliente, EvaluadorCompuesto>();

            //-----Evaluadores en comun a TODOS los tipos de clientes--------------
            IEvaluador evaluadorEdad=new EvaluadorEdad(18,75);
            IEvaluador evaluadorAntiguedad = new EvalauadorAntiguedadLaboral(6);
            IEvaluador evaluadorSalario = new EvaluadorSueldo(5000.00);

            //-----Evaluadores para tipo "NO" CLIENTE-------------------------------
            IEvaluador evaluadorNoClienteMonto = new EvaluadorMonto(20000.00);
            IEvaluador evaluadorNoClienteCuota = new EvaluadorCantidadDeCuotas(12);

            //-----Evaluadores para tipo CLIENTE -----------------------------------
            IEvaluador evaluadorClienteMonto = new EvaluadorMonto(100000.00);
            IEvaluador evaluadorClienteCuota = new EvaluadorCantidadDeCuotas(32);

            //-----Evaluadores para tipo CLIENTE GOLD-------------------------------
            IEvaluador evaluadorClienteGoldMonto = new EvaluadorMonto(150000.00);
            IEvaluador evaluadorClienteGoldCuota = new EvaluadorCantidadDeCuotas(60);

            //-----Evaluadores para tipo CLIENTE PREMIUM----------------------------
            IEvaluador evaluadorClientePremiumMonto = new EvaluadorMonto(200000.00);
            IEvaluador evaluadorClientePremiumCuota = new EvaluadorCantidadDeCuotas(60);

            //this.iEvaluadoresPorCliente.Add(TipoCliente.Cliente, new EvaluardorCompuesto());

            //---Agregando todos los evaluadores para tipo "NO" CLIENTE-------------------------------------
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente] = new EvaluadorCompuesto();
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente].AgregarEvaluador(evaluadorEdad);
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente].AgregarEvaluador(evaluadorAntiguedad);
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente].AgregarEvaluador(evaluadorSalario);
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente].AgregarEvaluador(evaluadorNoClienteMonto);
            this.iEvaluadoresPorCliente[TipoCliente.NoCliente].AgregarEvaluador(evaluadorNoClienteCuota);

            //---Agregando todos los evaluadores para tipo CLIENTE-----------------------------------------
            this.iEvaluadoresPorCliente[TipoCliente.Cliente] = new EvaluadorCompuesto();
            this.iEvaluadoresPorCliente[TipoCliente.Cliente].AgregarEvaluador(evaluadorEdad);
            this.iEvaluadoresPorCliente[TipoCliente.Cliente].AgregarEvaluador(evaluadorAntiguedad);
            this.iEvaluadoresPorCliente[TipoCliente.Cliente].AgregarEvaluador(evaluadorSalario);
            this.iEvaluadoresPorCliente[TipoCliente.Cliente].AgregarEvaluador(evaluadorClienteMonto);
            this.iEvaluadoresPorCliente[TipoCliente.Cliente].AgregarEvaluador(evaluadorClienteCuota);

            //---Agregando todos los evaluadores para tipo CLIENTE GOLD-------------------------------------
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold] = new EvaluadorCompuesto();
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold].AgregarEvaluador(evaluadorEdad);
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold].AgregarEvaluador(evaluadorAntiguedad);
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold].AgregarEvaluador(evaluadorSalario);
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold].AgregarEvaluador(evaluadorClienteGoldMonto);
            this.iEvaluadoresPorCliente[TipoCliente.ClienteGold].AgregarEvaluador(evaluadorClienteGoldCuota);

            //---Agregando todos los evaluadores para tipo CLIENTE PREMIUM-------------------------------------
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium] = new EvaluadorCompuesto();
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium].AgregarEvaluador(evaluadorEdad);
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium].AgregarEvaluador(evaluadorAntiguedad);
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium].AgregarEvaluador(evaluadorSalario);
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium].AgregarEvaluador(evaluadorClientePremiumMonto);
            this.iEvaluadoresPorCliente[TipoCliente.ClientePremium].AgregarEvaluador(evaluadorClientePremiumCuota);
        }
        public GestorPrestamo()
        {
            //Evaluadores comunes para todos los clientes
            EvaluadorAntiguedadLaboral evalAntiguedadLab = new EvaluadorAntiguedadLaboral(6);
            EvaluadorEdad   evalEdad   = new EvaluadorEdad(18, 75);
            EvaluadorSueldo evalSueldo = new EvaluadorSueldo(5000);

            //Evaluadores para no clientes
            var evalMonto      = new EvaluadorMonto(20000);
            var evalCantCuotas = new EvaluadorCantidadCuotas(12);
            var evalNoCliente  = new EvaluadorCompuesto();

            evalNoCliente.AgregarEvaluador(evalAntiguedadLab);
            evalNoCliente.AgregarEvaluador(evalEdad);
            evalNoCliente.AgregarEvaluador(evalSueldo);
            evalNoCliente.AgregarEvaluador(evalMonto);
            evalNoCliente.AgregarEvaluador(evalCantCuotas);
            iEvaluadoresPorCliente.Add(TipoCliente.NoCliente, evalNoCliente);

            //Evaluadores para clientes
            var evalMontoCliente = new EvaluadorMonto(100000);
            var evalCantCliente  = new EvaluadorCantidadCuotas(32);
            var evalCliente      = new EvaluadorCompuesto();

            evalCliente.AgregarEvaluador(evalAntiguedadLab);
            evalCliente.AgregarEvaluador(evalEdad);
            evalCliente.AgregarEvaluador(evalSueldo);
            evalCliente.AgregarEvaluador(evalMontoCliente);
            evalCliente.AgregarEvaluador(evalCantCliente);
            iEvaluadoresPorCliente.Add(TipoCliente.cliente, evalCliente);

            //Evaluadores para cliente gold
            var evalMontoGold = new EvaluadorMonto(20000);
            var evalCantGold  = new EvaluadorCantidadCuotas(12);
            var evalGold      = new EvaluadorCompuesto();

            evalGold.AgregarEvaluador(evalAntiguedadLab);
            evalGold.AgregarEvaluador(evalEdad);
            evalGold.AgregarEvaluador(evalSueldo);
            evalGold.AgregarEvaluador(evalMontoGold);
            evalGold.AgregarEvaluador(evalCantGold);
            iEvaluadoresPorCliente.Add(TipoCliente.ClienteGold, evalGold);

            //Evaluadores para cliente Premium
            var evalMontoPremium = new EvaluadorMonto(20000);
            var evalCantPremium  = new EvaluadorCantidadCuotas(12);
            var evalPremium      = new EvaluadorCompuesto();

            evalPremium.AgregarEvaluador(evalAntiguedadLab);
            evalPremium.AgregarEvaluador(evalEdad);
            evalPremium.AgregarEvaluador(evalSueldo);
            evalPremium.AgregarEvaluador(evalMontoPremium);
            evalPremium.AgregarEvaluador(evalCantPremium);
            iEvaluadoresPorCliente.Add(TipoCliente.ClientePlatinum, evalPremium);
        }