protected void grdAdscripcion_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            List <SPE_OBTIENE_ADSCRIPCIONES_Result> ListaAdscripcion = new List <SPE_OBTIENE_ADSCRIPCIONES_Result>();
            RotacionPersonalNegocio negocio = new RotacionPersonalNegocio();

            ListaAdscripcion = negocio.ObtieneCatalogoAdscripciones();
            if (!String.IsNullOrEmpty(vclTipoSeleccion))
            {
                grdAdscripcion.DataSource = ListaAdscripcion.Where(w => w.CL_TABLA_REFERENCIA == vclTipoSeleccion).ToList();
            }
            else
            {
                grdAdscripcion.DataSource = ListaAdscripcion;
            }
        }
        protected void CargarCombosDatos()
        {
            ClimaLaboralNegocio nClima = new ClimaLaboralNegocio();
            int countFiltros           = nClima.ObtenerFiltrosEvaluadores(vIdPeriodo).Count;

            if (countFiltros > 0)
            {
                var vFiltros = nClima.ObtenerParametrosFiltros(vIdPeriodo).FirstOrDefault();

                SPE_OBTIENE_DATOS_EVALUADORES_CLIMA_Result vDatosEvaluador = nClima.ObtenerValoresDatos(vIdPeriodo, vIdEvaluado).FirstOrDefault();
                if (vFiltros != null)
                {
                    if (vFiltros.EDAD_INICIO != null)
                    {
                        dvEdad.Attributes.Add("style", "display:block;");
                        lbEdad.Visible  = true;
                        rntEdad.Visible = true;
                        rntEdad.Value   = (double)vDatosEvaluador.NO_EDAD;
                    }
                    if (vFiltros.ANTIGUEDAD_INICIO != null)
                    {
                        dvFechaIngreso.Attributes.Add("style", "display:block;");
                        Label1.Visible          = true;
                        rdpIngreso.Visible      = true;
                        rdpIngreso.SelectedDate = vDatosEvaluador.FECHA_INGRESO;
                    }

                    if (vFiltros.CL_GENERO != null)
                    {
                        dvGenero.Attributes.Add("style", "display:block;");
                        lbGenero.Visible  = true;
                        cmbGenero.Visible = true;
                        cmbGenero.Text    = vDatosEvaluador.NB_GENERO;
                    }


                    if (vFiltros.XML_DEPARTAMENTOS != null)
                    {
                        dvArea.Attributes.Add("style", "display:block;");
                        lbArea.Visible  = true;
                        rcbArea.Visible = true;
                        rcbArea.Text    = vDatosEvaluador.NB_DEPARTAMENTO;
                    }

                    if (vFiltros.XML_CAMPOS_ADICIONALES != null)
                    {
                        ObtieneAdicionales(vFiltros.XML_CAMPOS_ADICIONALES);
                        ObtieneValoresAdicionales(vDatosEvaluador.XML_CAMPOS_ADICIONALES);
                        RotacionPersonalNegocio negocio = new RotacionPersonalNegocio();
                        foreach (E_CAMPOS_ADICIONALES item in vLstCamposAdicionales)
                        {
                            HtmlGenericControl vDiv = new HtmlGenericControl("div");
                            vDiv.Attributes.Add("class", "ctrlBasico");
                            SPE_OBTIENE_ADSCRIPCIONES_Result   ListaAdscripcion = negocio.ObtieneCatalogoAdscripciones(item.ID_CATALOGO_LISTA).FirstOrDefault();
                            List <E_ADICIONALES_SELECCIONADOS> LstValores       = vLstAdicionales.Where(w => w.ID_CATALOGO_LISTA == item.ID_CATALOGO_LISTA.ToString()).ToList();

                            RadLabel vControlLabel = new RadLabel();
                            vControlLabel.Text      = ListaAdscripcion.NB_CAMPO + ": ";
                            vControlLabel.Font.Bold = true;

                            Control vControl = new RadComboBox()
                            {
                                ID     = ListaAdscripcion.CL_CAMPO,
                                Width  = 250,
                                Filter = RadComboBoxFilter.Contains,
                            };

                            if (ListaAdscripcion != null)
                            {
                                ((RadComboBox)vControl).Items.Add(new RadComboBoxItem()
                                {
                                    Text  = vLstValorAdicional.Where(w => w.ID_CATALOGO_LISTA == ListaAdscripcion.CL_CAMPO).FirstOrDefault().NB_CAMPO,
                                    Value = vLstValorAdicional.Where(w => w.ID_CATALOGO_LISTA == ListaAdscripcion.CL_CAMPO).FirstOrDefault().CL_CAMPO,
                                });
                            }


                            vDiv.Controls.Add(vControlLabel);
                            vDiv.Controls.Add(vControl);
                            dvCamposExtra.Controls.Add(vDiv);
                        }
                    }
                }
            }
        }
        protected bool DatosEvaluador()
        {
            bool    vValidacion     = true;
            decimal?vEdad           = null;
            int?    vAntiguedad     = null;
            string  vClGenero       = "";
            int?    vIdDepartamento = null;
            string  vNbDepartamento = "";

            ClimaLaboralNegocio nClima = new ClimaLaboralNegocio();
            int countFiltros           = nClima.ObtenerFiltrosEvaluadores(vIdPeriodo).Count;

            if (countFiltros > 0)
            {
                var vFiltros = nClima.ObtenerParametrosFiltros(vIdPeriodo).FirstOrDefault();
                if (vFiltros != null)
                {
                    if (vFiltros.EDAD_INICIO != null)
                    {
                        vEdad = decimal.Parse(rntEdad.Text);
                    }
                    if (vFiltros.ANTIGUEDAD_INICIO != null)
                    {
                        if (rdpIngreso.SelectedDate == null)
                        {
                            UtilMensajes.MensajeResultadoDB(rwmMensaje, "Ingrese la fecha de ingreso.", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                            vValidacion = false;
                            return(vValidacion);
                        }
                        else
                        {
                            DateTime vFechaActual  = DateTime.Now;
                            DateTime vFechaIngreso = (DateTime)rdpIngreso.SelectedDate;
                            vAntiguedad = (int)((vFechaActual - vFechaIngreso).TotalDays);
                            // vAntiguedad = decimal.Parse(rntAntiguedad.Text);
                        }
                    }
                    if (vFiltros.CL_GENERO != null)
                    {
                        if (cmbGenero.SelectedValue == "")
                        {
                            UtilMensajes.MensajeResultadoDB(rwmMensaje, "Ingrese el género.", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                            vValidacion = false;
                            return(vValidacion);
                        }
                        else
                        {
                            vClGenero = cmbGenero.SelectedValue;
                            //if (cmbGenero.SelectedValue == "Masculino")
                            //    vClGenero = "M";
                            //else if (cmbGenero.SelectedValue == "Femenino")
                            //    vClGenero = "F";
                            //else
                            //    vClGenero = cmbGenero.SelectedValue;
                        }
                    }
                    if (vFiltros.XML_DEPARTAMENTOS != null)
                    {
                        if (rcbArea.SelectedValue == "")
                        {
                            UtilMensajes.MensajeResultadoDB(rwmMensaje, "Ingrese el área/departamento.", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                            vValidacion = false;
                            return(vValidacion);
                        }
                        else
                        {
                            vIdDepartamento = int.Parse(rcbArea.SelectedValue);
                        }
                        vNbDepartamento = rcbArea.Text;
                    }

                    XElement vXmlDatosEvaluador = new XElement("EVALUADOR",
                                                               new XElement("DATOS",
                                                                            new XAttribute("ID_DEPARTAMENTO", vIdDepartamento == null ? "" : vIdDepartamento.ToString()),
                                                                            new XAttribute("NB_DEPARTAMENTO", vNbDepartamento),
                                                                            new XAttribute("CL_GENERO", vClGenero),
                                                                            new XAttribute("NO_EDAD", vEdad == null ? "" : vEdad.ToString()),
                                                                            new XAttribute("NO_ANTIGUEDAD_EMPRESA", vAntiguedad == null ? "" : vAntiguedad.ToString())
                                                                            ));
                    xmlDatosEvaluador = vXmlDatosEvaluador.ToString();

                    XElement vXmlCamposExtra = new XElement("CAMPOS");
                    if (vFiltros.XML_CAMPOS_ADICIONALES != null)
                    {
                        RotacionPersonalNegocio negocio = new RotacionPersonalNegocio();
                        foreach (E_CAMPOS_ADICIONALES item in vLstCamposAdicionales)
                        {
                            XElement xXmlCampo        = new XElement("CAMPO");
                            var      ListaAdscripcion = negocio.ObtieneCatalogoAdscripciones(item.ID_CATALOGO_LISTA).FirstOrDefault();
                            Control  vControl         = dvCamposExtra.FindControl(ListaAdscripcion.CL_CAMPO);
                            if (vControl != null)
                            {
                                if (((RadComboBox)vControl).SelectedValue == "")
                                {
                                    UtilMensajes.MensajeResultadoDB(rwmMensaje, "Ingrese " + ListaAdscripcion.NB_CAMPO, E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                                    vValidacion = false;
                                    return(vValidacion);
                                }
                                else
                                {
                                    string vNbValor = ((RadComboBox)vControl).SelectedValue;
                                    string vNbTexto = ((RadComboBox)vControl).Text;
                                    xXmlCampo.Add(new XAttribute("ID_CAMPO", ListaAdscripcion.CL_CAMPO), new XAttribute("NB_VALOR", vNbValor), new XAttribute("NB_TEXTO", vNbTexto));
                                }
                            }
                            vXmlCamposExtra.Add(xXmlCampo);
                        }

                        xmlDatosAdicionales = vXmlCamposExtra.ToString();
                    }
                }
            }

            return(vValidacion);
        }
        protected void CargarCombos()
        {
            ClimaLaboralNegocio nClima = new ClimaLaboralNegocio();
            int countFiltros           = nClima.ObtenerFiltrosEvaluadores(vIdPeriodo).Count;

            if (countFiltros > 0)
            {
                var vFiltros = nClima.ObtenerParametrosFiltros(vIdPeriodo).FirstOrDefault();
                if (vFiltros != null)
                {
                    if (vFiltros.EDAD_INICIO != null)
                    {
                        dvEdad.Attributes.Add("style", "display:block;");
                        lbEdad.Visible   = true;
                        rntEdad.Visible  = true;
                        rntEdad.Value    = vFiltros.EDAD_INICIO;
                        rntEdad.MinValue = (double)vFiltros.EDAD_INICIO;
                        rntEdad.MaxValue = (double)vFiltros.EDAD_FINAL;
                    }
                    if (vFiltros.ANTIGUEDAD_INICIO != null)
                    {
                        dvFechaIngreso.Attributes.Add("style", "display:block;");
                        Label1.Visible     = true;
                        rdpIngreso.Visible = true;
                        //rntAntiguedad.Value = vFiltros.ANTIGUEDAD_INICIO;
                        //rntAntiguedad.MinValue = (double)vFiltros.ANTIGUEDAD_INICIO;
                        //rntAntiguedad.MaxValue = (double)vFiltros.ANTIGUEDAD_FINAL;
                    }

                    if (vFiltros.CL_GENERO != null)
                    {
                        dvGenero.Attributes.Add("style", "display:block;");
                        lbGenero.Visible  = true;
                        cmbGenero.Visible = true;
                        //    List<E_GENERO> vLstGenero = new List<E_GENERO>();
                        //    //cmbGenero.Text = vFiltros.CL_GENERO;
                        //    if (vFiltros.CL_GENERO == "Masculino")
                        //    {
                        //        E_GENERO g = new E_GENERO
                        //        {
                        //            NB_GENERO = "Masculino"
                        //        };
                        //        vLstGenero.Add(g);
                        //    }
                        //    else
                        //    {
                        //        E_GENERO g = new E_GENERO
                        //        {
                        //            NB_GENERO = "Femenino"
                        //        };
                        //        vLstGenero.Add(g);
                        //    }

                        //    cmbGenero.DataSource = vLstGenero;
                        //    cmbGenero.DataTextField = "NB_GENERO";
                        //    cmbGenero.DataValueField = "NB_GENERO";
                        //    cmbGenero.DataBind();
                        //}
                        //else
                        //{
                        //List<E_GENERO> vLstGenero = new List<E_GENERO>();
                        //E_GENERO g = new E_GENERO
                        //{
                        //    NB_GENERO = "Masculino"
                        //};
                        //vLstGenero.Add(g);
                        //E_GENERO f = new E_GENERO
                        //{
                        //    NB_GENERO = "Femenino"
                        //};
                        //vLstGenero.Add(f);
                        ObtieneGeneros(vFiltros.CL_GENERO);
                        cmbGenero.DataSource     = vLstGeneros;
                        cmbGenero.DataTextField  = "NB_GENERO";
                        cmbGenero.DataValueField = "CL_GENERO";
                        cmbGenero.DataBind();
                    }


                    if (vFiltros.XML_DEPARTAMENTOS != null)
                    {
                        dvArea.Attributes.Add("style", "display:block;");
                        lbArea.Visible  = true;
                        rcbArea.Visible = true;
                        ObtieneDepartamentos(vFiltros.XML_DEPARTAMENTOS);
                        rcbArea.DataSource     = vLstDepartamentos;
                        rcbArea.DataTextField  = "NB_DEPARTAMENTO";
                        rcbArea.DataValueField = "ID_DEPARTAMENTO";
                        rcbArea.DataBind();
                    }

                    if (vFiltros.XML_CAMPOS_ADICIONALES != null)
                    {
                        ObtieneAdicionales(vFiltros.XML_CAMPOS_ADICIONALES);
                        RotacionPersonalNegocio negocio = new RotacionPersonalNegocio();
                        foreach (E_CAMPOS_ADICIONALES item in vLstCamposAdicionales)
                        {
                            HtmlGenericControl vDiv = new HtmlGenericControl("div");
                            vDiv.Attributes.Add("class", "ctrlBasico");
                            SPE_OBTIENE_ADSCRIPCIONES_Result   ListaAdscripcion = negocio.ObtieneCatalogoAdscripciones(item.ID_CATALOGO_LISTA).FirstOrDefault();
                            List <E_ADICIONALES_SELECCIONADOS> LstValores       = vLstAdicionales.Where(w => w.ID_CATALOGO_LISTA == item.ID_CATALOGO_LISTA.ToString()).ToList();

                            if (ListaAdscripcion != null)
                            {
                                RadLabel vControlLabel = new RadLabel();
                                vControlLabel.Text      = ListaAdscripcion.NB_CAMPO + ": ";
                                vControlLabel.Font.Bold = true;

                                Control vControl = new RadComboBox()
                                {
                                    ID           = ListaAdscripcion.CL_CAMPO,
                                    Width        = 250,
                                    Filter       = RadComboBoxFilter.Contains,
                                    EmptyMessage = "Selecciona",
                                };

                                foreach (var itemValue in LstValores)
                                {
                                    ((RadComboBox)vControl).Items.Add(new RadComboBoxItem()
                                    {
                                        Text  = itemValue.NB_CAMPO,
                                        Value = itemValue.CL_CAMPO,
                                    });
                                }


                                vDiv.Controls.Add(vControlLabel);
                                vDiv.Controls.Add(vControl);
                                dvCamposExtra.Controls.Add(vDiv);
                            }
                        }
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["PeriodoId"] != null)
                {
                    vIdPeriodo = int.Parse(Request.QueryString["PeriodoId"]);

                    ClimaLaboralNegocio nClima = new ClimaLaboralNegocio();
                    var vClima = nClima.ObtienePeriodosClima(pIdPerido: vIdPeriodo).FirstOrDefault();
                    txtClPeriodo.Value        = vClima.CL_PERIODO + " - " + vClima.DS_PERIODO;
                    lbInstrucciones.InnerHtml = vClima.DS_INSTRUCCIONES;
                    int countFiltros = nClima.ObtenerFiltrosEvaluadores(vIdPeriodo).Count;
                    if (countFiltros > 0)
                    {
                        var vFiltros = nClima.ObtenerParametrosFiltros(vIdPeriodo).FirstOrDefault();
                        if (vFiltros != null)
                        {
                            if (vFiltros.EDAD_INICIO != null)
                            {
                                lbedad.Visible     = true;
                                txtEdaddes.Visible = true;
                                //txtEdaddes.Value = vFiltros.EDAD_INICIO + " - " + vFiltros.EDAD_FINAL + " años";
                            }
                            if (vFiltros.ANTIGUEDAD_INICIO != null)
                            {
                                lbAntiguedad.Visible    = true;
                                txtAntiguedades.Visible = true;
                                // txtAntiguedades.Value = vFiltros.ANTIGUEDAD_INICIO + " - " + vFiltros.ANTIGUEDAD_FINAL + " años";
                            }
                            if (vFiltros.CL_GENERO != null)
                            {
                                lbGenero.Visible = true;

                                ObtieneGeneros(vFiltros.CL_GENERO);
                                foreach (E_GENERO item in vLstGeneros)
                                {
                                    HtmlGenericControl vDiv = new HtmlGenericControl("div");
                                    vDiv.Attributes.Add("class", "ctrlBasico");
                                    var checkbox = new CheckBox();
                                    checkbox.Text = item.NB_GENERO;
                                    vDiv.Controls.Add(checkbox);
                                    dvGeneros.Controls.Add(vDiv);
                                }
                                //CheckBox vCheckM = new CheckBox();
                                //vCheckM.Text = "Masculino";
                                //CheckBox vCheckF = new CheckBox();
                                //vCheckF.Text = "Femenino";
                                //if (vFiltros.CL_GENERO == "Femenino")
                                //dvGeneros.Controls.Add(vCheckF);
                                //if (vFiltros.CL_GENERO == "Masculino")
                                //dvGeneros.Controls.Add(vCheckM);
                            }

                            if (vFiltros.XML_DEPARTAMENTOS != null)
                            {
                                lbDepartamento.Visible = true;
                                ObtieneDepartamentos(vFiltros.XML_DEPARTAMENTOS);
                                foreach (E_DEPARTAMENTOS item in vLstDepartamentos)
                                {
                                    HtmlGenericControl vDiv = new HtmlGenericControl("div");
                                    vDiv.Attributes.Add("class", "ctrlBasico");
                                    var checkbox = new CheckBox();
                                    vDiv.Controls.Add(checkbox);
                                    var label = new Label();
                                    label.Text = item.NB_DEPARTAMENTO;
                                    vDiv.Controls.Add(label);
                                    dvAreas.Controls.Add(vDiv);
                                }
                            }

                            if (vFiltros.XML_CAMPOS_ADICIONALES != null)
                            {
                                RotacionPersonalNegocio negocio = new RotacionPersonalNegocio();
                                ObtieneAdicionales(vFiltros.XML_CAMPOS_ADICIONALES);
                                ObtieneAdicionalesCampos(vFiltros.XML_CAMPOS_ADICIONALES); //vLstCamposAd

                                foreach (E_CAMPOS_ADICIONALES item in vLstCamposAdicionales)
                                {
                                    var ListaAdscripcion = negocio.ObtieneCatalogoAdscripciones(item.ID_CATALOGO_LISTA).FirstOrDefault();

                                    if (ListaAdscripcion != null)
                                    {
                                        var row  = new HtmlTableRow();
                                        var cell = new HtmlTableCell()
                                        {
                                            InnerHtml = "<label name='adscripcion' name='name' width='100'>" + ListaAdscripcion.NB_CAMPO + ":" + "</ label>"
                                        };
                                        cell.Attributes.Add("style", "width:150px;");
                                        row.Cells.Add(cell);
                                        cell = new HtmlTableCell();
                                        cell.Style.Add("Height", "30px");

                                        //var ListaAdscripcionValor = negocio.ObtieneCatalogoAdscripciones(item.ID_CATALOGO_LISTA).ToList();
                                        var vListCampos = vLstCamposAd.Where(w => w.ID_CATALOGO_LISTA == item.ID_CATALOGO_LISTA).ToList();
                                        foreach (var itemValor in vListCampos)
                                        {
                                            var checkbox = new CheckBox();
                                            cell.Controls.Add(checkbox);
                                            var label = new Label();
                                            label.Text = itemValor.NB_CAMPO;
                                            cell.Controls.Add(label);
                                        }
                                        row.Cells.Add(cell);
                                        tbAdscripciones.Rows.Add(row);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        dvMostrar.Visible = false;
                    }


                    dvCuestionario.Controls.Add(GenerarCuestionario());
                    dvPreguntasAbiertas.Controls.Add(GenerarPreguntasAbiertas());
                }
            }
        }