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(); } }
private void InicializarLists() { bloqueCuestionario = new BloqueCuestionario(); listaBloqueCuestionario.Clear(); }
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); }