private DataTable CrearDataTableEvaluacion(int vIdEmpleado, int vIdEvaluado)
        {
            DataTable dtCuestionarios = new DataTable();

            dtCuestionarios.Columns.Add("ID_EVALUADO");
            dtCuestionarios.Columns.Add("AUTOEVALUACION");
            dtCuestionarios.Columns.Add("SUPERIOR");
            dtCuestionarios.Columns.Add("SUBORDINADO");
            dtCuestionarios.Columns.Add("INTERRELACIONADO");
            dtCuestionarios.Columns.Add("OTROS");

            StringBuilder vSbAuto  = new StringBuilder();
            StringBuilder vSbSup   = new StringBuilder();
            StringBuilder vSbSub   = new StringBuilder();
            StringBuilder vSbInter = new StringBuilder();
            StringBuilder vSbOtros = new StringBuilder();

            string vNameCheck       = "";
            string vIsChecked       = "";
            string vTextoClEmpleado = "Clave empledo:";
            string vTextoClPuesto   = "Clave puesto:";

            if (vClIdioma != E_IDIOMA_ENUM.ES.ToString())
            {
                //Asignar texto variables vista
                TraduccionIdiomaTextoNegocio        oNegocio       = new TraduccionIdiomaTextoNegocio();
                SPE_OBTIENE_TRADUCCION_TEXTO_Result vTxtClEmpleado = oNegocio.ObtieneTraduccion(pCL_TEXTO: "CB_ClaveEmpleado", pCL_MODULO: "FYD", pCL_PROCESO: "EC_MATRIZCUESTIONARIO", pCL_IDIOMA: "PORT").FirstOrDefault();
                if (vTxtClEmpleado != null)
                {
                    vTextoClEmpleado = vTxtClEmpleado.DS_TEXTO;
                }
                SPE_OBTIENE_TRADUCCION_TEXTO_Result vTxtPuesto = oNegocio.ObtieneTraduccion(pCL_TEXTO: "CB_ClavePuesto", pCL_MODULO: "FYD", pCL_PROCESO: "EC_MATRIZCUESTIONARIO", pCL_IDIOMA: "PORT").FirstOrDefault();
                if (vTxtPuesto != null)
                {
                    vTextoClPuesto = vTxtPuesto.DS_TEXTO;
                }
            }

            string vPlantillaDivs = " <table border=\"0\" style=\"width:100%; padding:3px;\"> " +
                                    "<tr>" +
                                    "<td style=\"width:90%;\" title=\"{0}\">" +
                                    "<div class=\"{3}\"> " +
                                    "<span>{1}<br /> " +
                                    "<span style=\"font-weight: bold;\">{2}</span>" +
                                    "</span> " +
                                    " </div> " +
                                    " <div style=\"clear:both; height: 2px;\"></div>" +
                                    "</td>" +
                                    "<td style=\"width:10%;\">" +
                                    "<div class=\"checkc\">" +
                                    "<input type=\"checkbox\" name=\"{4}\" {5} class=\"{6}\" />" +
                                    "</div> " +
                                    "</td>" +
                                    "</tr>" +
                                    "</table>";

            var vListaEvaluado = vLstPlaneacion.Where(t => t.ID_EMPLEADO_EVALUADO == vIdEmpleado).ToList();



            foreach (var item in vListaEvaluado)
            {
                switch (item.CL_ROL_EVALUADOR)
                {
                case "AUTOEVALUACION":

                    vNameCheck = item.ID_EVALUADO.ToString() + "," + item.ID_EMPLEADO_EVALUADOR.ToString() + ",AE";
                    vIsChecked = item.FG_CUESTIONARIO ? "checked" : "";

                    vSbAuto.Append(string.Format(vPlantillaDivs, vTextoClEmpleado + " " + item.CL_EMPLEADO + ", " + vTextoClPuesto + " " + item.CL_PUESTO, item.NB_EMPLEADO_COMPLETO, item.NB_PUESTO, item.CL_ROL_EVALUADOR, vNameCheck, vIsChecked, "AE"));
                    break;

                case "SUPERIOR":
                    vNameCheck = item.ID_EVALUADO.ToString() + "," + item.ID_EMPLEADO_EVALUADOR.ToString() + ",SP";
                    vIsChecked = item.FG_CUESTIONARIO ? "checked" : "";

                    vSbSup.Append(string.Format(vPlantillaDivs, vTextoClEmpleado + " " + item.CL_EMPLEADO + ", " + vTextoClPuesto + " " + item.CL_PUESTO, item.NB_EMPLEADO_COMPLETO, item.NB_PUESTO, item.CL_ROL_EVALUADOR, vNameCheck, vIsChecked, "SP"));
                    break;

                case "SUBORDINADO":
                    vNameCheck = item.ID_EVALUADO.ToString() + "," + item.ID_EMPLEADO_EVALUADOR.ToString() + ",SB";
                    vIsChecked = item.FG_CUESTIONARIO ? "checked" : "";

                    vSbSub.Append(string.Format(vPlantillaDivs, vTextoClEmpleado + " " + item.CL_EMPLEADO + ", " + vTextoClPuesto + " " + item.CL_PUESTO, item.NB_EMPLEADO_COMPLETO, item.NB_PUESTO, item.CL_ROL_EVALUADOR, vNameCheck, vIsChecked, "SB"));
                    break;

                case "INTERRELACIONADO":
                    vNameCheck = item.ID_EVALUADO.ToString() + "," + item.ID_EMPLEADO_EVALUADOR.ToString() + ",IN";
                    vIsChecked = item.FG_CUESTIONARIO ? "checked" : "";

                    vSbInter.Append(string.Format(vPlantillaDivs, vTextoClEmpleado + " " + item.CL_EMPLEADO + ", " + vTextoClPuesto + " " + item.CL_PUESTO, item.NB_EMPLEADO_COMPLETO, item.NB_PUESTO, item.CL_ROL_EVALUADOR, vNameCheck, vIsChecked, "IN"));
                    break;

                case "OTRO":
                    vNameCheck = item.ID_EVALUADO.ToString() + "," + item.ID_EMPLEADO_EVALUADOR.ToString() + ",OT";
                    vIsChecked = item.FG_CUESTIONARIO ? "checked" : "";
                    vSbOtros.Append(string.Format(vPlantillaDivs, vTextoClEmpleado + " " + item.CL_EMPLEADO + ", " + vTextoClPuesto + " " + item.CL_PUESTO, item.NB_EMPLEADO_COMPLETO, item.NB_PUESTO, item.CL_ROL_EVALUADOR, vNameCheck, vIsChecked, "OT"));
                    break;
                }
            }

            dtCuestionarios.Rows.Add(vIdEmpleado, vSbAuto.ToString(), vSbSup.ToString(), vSbSub.ToString(), vSbInter.ToString(), vSbOtros.ToString());

            return(dtCuestionarios);
        }
Пример #2
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            XElement vXmlCampo = new XElement("CAMPO");

            if (txtClave.Text != "" && txtNombre.Text != "")
            {
                string vClTipoCampo = cmbTipoControl.SelectedValue;

                vXmlCampo.SetAttributeValue("CL_TIPO", vClTipoCampo);
                vXmlCampo.SetAttributeValue("ID_CAMPO", txtClave.Text);
                vXmlCampo.SetAttributeValue("NB_CAMPO", txtNombre.Text);
                vXmlCampo.SetAttributeValue("NB_TOOLTIP", txtTooltip.Text);

                if (ValidarPregunta())
                {
                    switch (vClTipoCampo)
                    {
                    case "TEXTBOX":
                        vXmlCampo.SetAttributeValue("NO_LONGITUD", txtTextboxLongitud.Text);
                        vXmlCampo.SetAttributeValue("NO_ANCHO", int.Parse(txtTextboxLongitud.Text) * 2);
                        vXmlCampo.SetAttributeValue("NO_VALOR_DEFECTO", txtTextboxDefault.Text);

                        if (int.Parse(txtTextboxLongitud.Text) > 200)
                        {
                            vXmlCampo.SetAttributeValue("NO_ANCHO", txtTextboxLongitud.Text);
                            vXmlCampo.SetAttributeValue("FG_MULTILINEA", "1");
                        }
                        else
                        {
                            vXmlCampo.SetAttributeValue("NO_LARGO", 30);
                            vXmlCampo.SetAttributeValue("NO_ANCHO", int.Parse(txtTextboxLongitud.Text) * 3);
                            vXmlCampo.SetAttributeValue("FG_MULTILINEA", "0");
                        }

                        break;

                    case "DATEPICKER":
                    case "DATEAGE":
                        if (txtDateDefault.SelectedDate != null)
                        {
                            vXmlCampo.SetAttributeValue("NO_VALOR_DEFECTO", ((DateTime)txtDateDefault.SelectedDate).ToString("dd/MM/yyyy"));
                        }
                        break;

                    case "COMBOBOX":
                        vXmlCampo.SetAttributeValue("ID_CATALOGO", cmbComboboxCatalogo.SelectedValue);
                        vXmlCampo.SetAttributeValue("NO_VALOR_DEFECTO", cmbComboboxDefault.SelectedValue);
                        break;

                    case "MASKBOX":
                        vXmlCampo.SetAttributeValue("NO_ANCHO", 100);
                        vXmlCampo.SetAttributeValue("NB_MASCARA", txtMaskboxMascara.Text);
                        break;

                    case "NUMERICBOX":
                        vXmlCampo.SetAttributeValue("NO_DECIMALES", txtNumericboxDecimales.Text);
                        vXmlCampo.SetAttributeValue("NO_ENTEROS", txtNumericboxEnteros.Text);
                        vXmlCampo.SetAttributeValue("NO_ANCHO", String.Format("{0:N0},{1:N0}", txtNumericboxEnteros.Value + txtNumericboxDecimales.Value, txtNumericboxDecimales.Value));
                        vXmlCampo.SetAttributeValue("NO_VALOR_DEFECTO", (decimal)txtNumericboxDefault.Value);
                        break;

                    case "CHECKBOX":
                        vXmlCampo.SetAttributeValue("NO_VALOR_DEFECTO", chkCheckboxDefault.Checked ? "1" : "0");
                        break;
                    }

                    //XElement vXmlPreguntasAdicionales = new XElement("PREGUNTAS_ADICIONALES");
                    //vXmlPreguntasAdicionales.Add(lstCampoAdicional.Items.Where(w => !w.Value.Equals(String.Empty)).Select(s => new XElement("PREGUNTA", new XAttribute("ID_CAMPO", s.Value))));

                    SIGE.Negocio.FormacionDesarrollo.PeriodoNegocio nPeriodo = new SIGE.Negocio.FormacionDesarrollo.PeriodoNegocio();

                    E_CL_CUESTIONARIO_OBJETIVO vClCuestionarioObjetivo = E_CL_CUESTIONARIO_OBJETIVO.AMBOS;

                    if (btnCuestionarioAutoevaluacion.Checked)
                    {
                        vClCuestionarioObjetivo = E_CL_CUESTIONARIO_OBJETIVO.AUTOEVALUACION;
                    }

                    if (btnCuestionarioOtros.Checked)
                    {
                        vClCuestionarioObjetivo = E_CL_CUESTIONARIO_OBJETIVO.OTROS;
                    }

                    string vClTipoTransaccion = "I";
                    if (vIdPregunta != null)
                    {
                        vClTipoTransaccion = "A";
                    }

                    E_RESULTADO vResultado = nPeriodo.InsertaPreguntasAdicionales(vIdPeriodo, vIdPregunta, txtNombre.Text, vXmlCampo, vClCuestionarioObjetivo.ToString(), vClUsuario, vNbPrograma, vClTipoTransaccion);
                    string      vMensaje   = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;

                    UtilMensajes.MensajeResultadoDB(rwmAlertas, vMensaje, vResultado.CL_TIPO_ERROR, pCallBackFunction: "generateDataForParent");
                }
                else
                {
                    if (vClIdioma != E_IDIOMA_ENUM.ES.ToString())
                    {
                        TraduccionIdiomaTextoNegocio        oNegocio             = new TraduccionIdiomaTextoNegocio();
                        SPE_OBTIENE_TRADUCCION_TEXTO_Result vLstTextosTraduccion = oNegocio.ObtieneTraduccion(pCL_TEXTO: "vCB_ValidaClaveNombre", pCL_MODULO: "FYD", pCL_PROCESO: "EC_PREGUNTASADICIONALES", pCL_IDIOMA: "PORT").FirstOrDefault();
                        if (vLstTextosTraduccion != null)
                        {
                            UtilMensajes.MensajeResultadoDB(rwmAlertas, vLstTextosTraduccion.DS_TEXTO, E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                        }
                    }
                    else
                    {
                        UtilMensajes.MensajeResultadoDB(rwmAlertas, "Ya existe un registro con esta clave.", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                    }
                }
            }

            else
            {
                if (vClIdioma != E_IDIOMA_ENUM.ES.ToString())
                {
                    TraduccionIdiomaTextoNegocio        oNegocio             = new TraduccionIdiomaTextoNegocio();
                    SPE_OBTIENE_TRADUCCION_TEXTO_Result vLstTextosTraduccion = oNegocio.ObtieneTraduccion(pCL_TEXTO: "vCB_ValidaPregunta", pCL_MODULO: "FYD", pCL_PROCESO: "EC_PREGUNTASADICIONALES", pCL_IDIOMA: "PORT").FirstOrDefault();
                    if (vLstTextosTraduccion != null)
                    {
                        UtilMensajes.MensajeResultadoDB(rwmAlertas, vLstTextosTraduccion.DS_TEXTO, E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                    }
                }
                else
                {
                    UtilMensajes.MensajeResultadoDB(rwmAlertas, "La clave y el título del campo son requeridos.", E_TIPO_RESPUESTA_DB.ERROR, pCallBackFunction: "");
                }
            }
        }