示例#1
0
        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);
        }