コード例 #1
0
 public static void CargarContenidoListboxs(string rutaBancoPreguntas)
 {
     BloqueCuestionario = new BloqueCuestionario();
     ListaBloqueCuestionario.Clear();
     try
     {
         using (WordprocessingDocument document = WordprocessingDocument.CreateFromTemplate(rutaBancoPreguntas))
         {
             var body              = document.MainDocumentPart.Document.Body;
             var parrafos          = body.Elements <Paragraph>();
             var listaXTipoDeNivel = ObtenerListaXTipoDeNivel(parrafos);
             ListaBloqueCuestionario = ObtenerListaBloqueCuestionario(listaXTipoDeNivel);
         }
     }
     catch (System.IO.FileNotFoundException)
     {
         Mensajes.ArchivoDeWordNoExiste();
     }
 }
コード例 #2
0
ファイル: Form1.cs プロジェクト: oscarandresdav/TestCreator
 private void InicializarLists()
 {
     bloqueCuestionario = new BloqueCuestionario();
     listaBloqueCuestionario.Clear();
 }
コード例 #3
0
ファイル: Form1.cs プロジェクト: oscarandresdav/TestCreator
        private List <BloqueCuestionario> ClasificacionNivelPreguntas(IEnumerable <OpenXmlElement> paragraphs)
        {
            var listaSalida            = new List <BloqueCuestionario>();
            var keyClase               = new List <string>();
            var valueClase             = new List <string>();
            int SizeKeyClasificacion   = 0;
            int SizeValueClasificacion = 0;

            paragraphs.ToList <OpenXmlElement>().ForEach(p =>
            {
                if (TipoNiveles == TiposNivel.Clases)
                {
                    if (p.InnerText.ToLower(cultureInfo).StartsWith(@"clas = [", StringComparison.CurrentCulture)) // Nueva Pregunta
                    {
                        keyClase.AddRange(p.InnerText.Remove(p.InnerText.IndexOf("]", StringComparison.CurrentCulture)).Substring(8).Split(','));
                        SizeKeyClasificacion = keyClase.Count;
                    }
                    else if (p.InnerText.ToLower(cultureInfo).StartsWith(@"clas = ", StringComparison.CurrentCulture)) // Nueva pregunta para Tipo de Clasificación
                    {
                        valueClase             = new List <string>();
                        SizeValueClasificacion = 0;
                        string contenido       = p.InnerText.Trim(' ').Substring(7);
                        if (contenido.Contains("%"))
                        {
                            contenido = contenido.Remove(contenido.IndexOf("%", StringComparison.CurrentCulture));
                        }
                        valueClase.AddRange(contenido.Split(','));
                        foreach (var value in valueClase)
                        {
                            if (value.Trim(' ').Length > 0)
                            {
                                SizeValueClasificacion++;
                            }
                        }
                    }

                    if (p.InnerText.StartsWith(@"#", StringComparison.CurrentCulture))
                    {
                        if (SizeKeyClasificacion == SizeValueClasificacion)
                        {
                            if (bloqueCuestionario.Pregunta != null)
                            {
                                listaSalida.Add(bloqueCuestionario);
                            }
                            bloqueCuestionario = new BloqueCuestionario();
                            for (int i = 0; i < SizeKeyClasificacion; i++)
                            {
                                bloqueCuestionario.Clase.Add(keyClase[i].Trim(' '), valueClase[i].Trim(' '));
                            }
                            bloqueCuestionario.Pregunta = p;
                        }
                    }

                    if (p.InnerText.StartsWith(@"%%", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Comentario.Add(p.InnerText);
                    }
                    if (p.InnerText.StartsWith(@"&", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Opciones.Add(p);
                    }
                    if (p.InnerText.StartsWith(@"&&", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Respuestas.Add(p);
                    }
                }
                else if (TipoNiveles == TiposNivel.Preguntas)
                {
                    if (p.InnerText.StartsWith(@"#", StringComparison.CurrentCulture))
                    {
                        if (bloqueCuestionario.Pregunta != null)
                        {
                            listaSalida.Add(bloqueCuestionario);
                        }
                        bloqueCuestionario = new BloqueCuestionario();
                        bloqueCuestionario.Clase.Add(TiposNivel.Preguntas.ToString(), TiposNivel.Preguntas.ToString());
                        bloqueCuestionario.Pregunta = p;
                    }

                    if (p.InnerText.StartsWith(@"%%", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Comentario.Add(p.InnerText);
                    }
                    if (p.InnerText.StartsWith(@"&", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Opciones.Add(p);
                    }
                    if (p.InnerText.StartsWith(@"&&", StringComparison.CurrentCulture))
                    {
                        bloqueCuestionario.Respuestas.Add(p);
                    }
                }
            });

            if (bloqueCuestionario.Pregunta != null)
            {
                listaSalida.Add(bloqueCuestionario);
            }

            return(listaSalida);
        }