Example #1
0
        /// <summary>
        /// Genera una expresión para poder extraer el texto de cada página mediante regex.
        /// </summary>
        /// <returns>Patrón para regex inicio página</returns>
        private string GenerarPatronRegexInicioPagina()
        {
            RegistroCampo inicio = null;
            RegistroCampo modelo = null;
            RegistroCampo pagina = null;
            RegistroCampo final  = null;

            foreach (var reg in RegistroCampos)
            {
                if (Regex.Match(reg.Value.Descripcion, @"\s*Inicio\s+del\s+identificador\s+de\s+modelo\s+y\s+p[^\d]{1}gina\s*").Success)
                {
                    inicio = (reg.Value as RegistroCampo);
                }
                else if (reg.Value.Descripcion.Trim() == "Modelo")
                {
                    modelo = (reg.Value as RegistroCampo);
                }
                else if (reg.Value.Descripcion.Trim() == "Página")
                {
                    pagina = (reg.Value as RegistroCampo);
                }
                else if (Regex.Match(reg.Value.Descripcion, @"\s*Fin\s+de\s+identificador\s+de\s+modelo\s*").Success)
                {
                    final = (reg.Value as RegistroCampo);
                }
            }

            string patronPagina = $"\\d{{{pagina.Longitud}}}";

            string patronInicio = $"{inicio.ValorFichero}{modelo.ValorFichero}{patronPagina}{final.ValorFichero}";

            return(patronInicio);
        }
Example #2
0
        /// <summary>
        /// Genera una expresión para poder extraer el texto de cada página mediante regex.
        /// </summary>
        /// <returns>Patrón para regex inicio página</returns>
        private string GenerarPatronRegexFinalPagina()
        {
            RegistroCampo final = null;

            foreach (var reg in RegistroCampos)
            {
                if (Regex.Match(reg.Value.Descripcion, @"\s*Indicador\s+de\s+fin\s+de\s+registro\s*").Success)
                {
                    final = (reg.Value as RegistroCampo);
                }
            }


            return($"{final.ValorFichero}");
        }
Example #3
0
        /// <summary>
        /// Devuelve el campo que se corresponde con la descripción facilitada
        /// o null si no lo encuentra.
        /// </summary>
        /// <param name="descripcion">Descipción del campo o clave del campo.</param>
        /// <returns>Devuelve el campo que se corresponde con la descripción facilitada
        /// o null si no lo encuentra.</returns>
        public RegistroCampo this[string descripcion]
        {
            get
            {
                foreach (var parClaveValor in RegistroCampos)
                {
                    RegistroCampo campo = parClaveValor.Value as RegistroCampo;

                    if (campo != null && campo?.Descripcion == descripcion)
                    {
                        return(campo);
                    }

                    if (campo != null && campo?.Clave != null && campo?.Clave == descripcion)
                    {
                        return(campo);
                    }
                }

                return(null);
            }
        }