Esempio n. 1
0
        private static void ConfigurarDecorador()
        {
            while (true)
            {
                Console.Write(@"Ingrese ruta del archivo ( ! para regresar ) : ");
                _archivo = Console.ReadLine();
                if (_archivo == "!")
                {
                    _archivo = null;
                    return;
                }

                if (_archivo == null || !File.Exists(_archivo))
                {
                    UtilConsola.Escribir("Archivo no existe", ConsoleColor.Red);
                    Console.ReadKey(true);
                    continue;
                }

                var cargador  = new CargadorDecoradores();
                var contenido = File.ReadAllText(_archivo);
                _decorador = cargador.CargarDesdeCadena(contenido);

                break;
            }
        }
Esempio n. 2
0
        private IDecoradorHtml TraerDecoradorDesdeCadena(string definicion, IDecoradorHtml decoradorActual)
        {
            string[] arr = definicion.Split('|');
            if (arr.Length < 1)
            {
                return(decoradorActual);
            }

            string tipoNombre = "Politecnico.Patrones.Decorador02." + arr[0];

            try {
                Type tipo = Type.GetType(tipoNombre);
                if (tipo == null)
                {
                    return(decoradorActual);
                }

                IDecoradorHtml result = arr.Length == 2
                    ? (IDecoradorHtml)Activator.CreateInstance(tipo, decoradorActual, arr[1])
                    : (IDecoradorHtml)Activator.CreateInstance(tipo, decoradorActual);
                return(result);
            } catch (Exception) {
                return(decoradorActual);
            }
        }
Esempio n. 3
0
        public void CargarDecoradoresDinamicamente_Complejo()
        {
            const string   origen      = @"DecoradorFuenteHtml4|{ Color:'#decafe', Tipo: 'Times New Roman', Tam: '20px'}";
            var            cargador    = new CargadorDecoradores();
            IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen);
            string         result      = decoradores.Decorar("hola mundo");

            Assert.AreEqual("<font color='#decafe' face='Times New Roman' size='20px'>hola mundo</font>", result);
        }
Esempio n. 4
0
        public void CargarDecoradoresDinamicamente_Simple()
        {
            const string   origen      = @"DecoradorCursiva";
            var            cargador    = new CargadorDecoradores();
            IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen);
            string         result      = decoradores.Decorar("hola mundo");

            Assert.AreEqual("<em>hola mundo</em>", result);
        }
Esempio n. 5
0
        public void CargarDecoradoresDinamicamente_VariosConComplejo()
        {
            const string   origen      = @"DecoradorAcentos
DecoradorFuenteHtml4|{ Color:'#decafe', Tipo: 'Times New Roman', Tam: '20px'}";
            var            cargador    = new CargadorDecoradores();
            IDecoradorHtml decoradores = cargador.CargarDesdeCadena(origen);
            string         result      = decoradores.Decorar("Mariú Ramírez ñÑ");

            Assert.AreEqual(
                "<font color='#decafe' face='Times New Roman' size='20px'>Mari&uacute; Ram&iacute;rez &ntilde;&Ntilde;</font>",
                result);
        }
Esempio n. 6
0
        public IDecoradorHtml CargarDesdeCadena(string origen)
        {
            IDecoradorHtml result = new DecoradorVacio();

            using (var sr = new StringReader(origen)) {
                string def;
                while ((def = sr.ReadLine()) != null)
                {
                    IDecoradorHtml decorador = TraerDecoradorDesdeCadena(def, result);
                    result = decorador;
                }
            }
            return(result);
        }
Esempio n. 7
0
 protected DecoradorHtmlBase(IDecoradorHtml decorador)
 {
     _decorador = decorador;
 }
Esempio n. 8
0
 public DecoradorSpan(IDecoradorHtml decorador, string clase) : base(decorador)
 {
     _clase = clase;
 }
Esempio n. 9
0
 public DecoradorLetraChica(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 10
0
 public DecoradorFuenteHtml4(IDecoradorHtml decorador, string parametros)
     : base(decorador)
 {
     _parametros = CrearParametrosDesdeString(parametros);
 }
Esempio n. 11
0
 public DecoradorFuenteHtml4(IDecoradorHtml decorador, Parametros parametros)
     : base(decorador)
 {
     _parametros = parametros;
 }
Esempio n. 12
0
 public DecoradorSubIndice(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 13
0
 public DecoradorSubrayado(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 14
0
 public DecoradorBarraHorizontalDespues(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 15
0
 public DecoradorNegrilla(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 16
0
 public DecoradorCursiva(IDecoradorHtml decorador) : base(decorador)
 {
 }
Esempio n. 17
0
 public DecoradorAcentos(IDecoradorHtml decorador)
     : base(decorador)
 {
 }