public E_CUESTIONARIO ObtieneCuestionario(int?pIdCuestionario = null, int?pIdEvaluado = null, int?pIdEvaluadoEvaluador = null, int?pIdEvaluador = null) { PeriodoOperaciones oPeriodo = new PeriodoOperaciones(); var oCuestionario = oPeriodo.ObtenerCuestionario(pIdCuestionario, pIdEvaluado, pIdEvaluadoEvaluador, pIdEvaluador); int vIdCatalogo; string vClValor; if (oCuestionario != null) { if (oCuestionario.XML_CATALOGOS != null) { XElement vXmlPreguntasAdicionales = XElement.Parse(oCuestionario.XML_PREGUNTAS_ADICIONALES); XElement vXmlCatalogo = XElement.Parse(oCuestionario.XML_CATALOGOS); foreach (XElement itemPregunta in vXmlPreguntasAdicionales.Elements("CAMPO")) { if (itemPregunta.Attribute("ID_CATALOGO") != null) { vIdCatalogo = UtilXML.ValorAtributo <int>(itemPregunta.Attribute("ID_CATALOGO")); vClValor = UtilXML.ValorAtributo <string>(itemPregunta.Attribute("NB_VALOR")) == null?UtilXML.ValorAtributo <string>(itemPregunta.Attribute("NO_VALOR_DEFECTO")) : UtilXML.ValorAtributo <string>(itemPregunta.Attribute("NB_VALOR")); XElement vXmlCatalogoFiltrado = new XElement("ITEMS"); foreach (XElement itemCatalogo in vXmlCatalogo.Elements("ITEM")) { if (UtilXML.ValorAtributo <int>(itemCatalogo.Attribute("ID_CATALOGO_VALOR")) == vIdCatalogo) { if (UtilXML.ValorAtributo <string>(itemCatalogo.Attribute("NB_VALOR")) == vClValor) { UtilXML.AsignarValorAtributo(itemCatalogo, "FG_SELECCIONADO", "1"); } else { UtilXML.AsignarValorAtributo(itemCatalogo, "FG_SELECCIONADO", "0"); } vXmlCatalogoFiltrado.Add(itemCatalogo); } } itemPregunta.Add(vXmlCatalogoFiltrado); } } oCuestionario.XML_PREGUNTAS_CATALOGOS_ADICIONALES = vXmlPreguntasAdicionales.ToString(); } } return(oCuestionario); }