private void CargarDatos(int?pIdPeriodo)
        {
            TableroControlNegocio nTableroControl = new TableroControlNegocio();
            var vLstPeriodo = nTableroControl.ObtenerPeriodoTableroControl(pIdPeriodo: vIdPeriodo).FirstOrDefault();

            txtNbPeriodo.Text = vLstPeriodo.NB_PERIODO;
            txtDsPeriodo.Text = vLstPeriodo.DS_PERIODO;
            if (vLstPeriodo.DS_NOTAS != null)
            {
                if (vLstPeriodo.DS_NOTAS.Contains("DS_NOTA"))
                {
                    txtDsNotas.Content = Utileria.MostrarNotas(vLstPeriodo.DS_NOTAS);
                }
                else
                {
                    XElement vRequerimientos = XElement.Parse(vLstPeriodo.DS_NOTAS);
                    if (vRequerimientos != null)
                    {
                        vRequerimientos.Name = vNbFirstRadEditorTagName;
                        txtDsNotas.Content   = vRequerimientos.ToString();
                    }
                }
            }
            btnResultadoPruebasTrue.Checked        = vLstPeriodo.FG_EVALUACION_IDP == true;
            btnResultadoPruebasFalse.Checked       = !vLstPeriodo.FG_EVALUACION_IDP == false;
            btnEvaluacionCompetenciasTrue.Checked  = vLstPeriodo.FG_EVALUACION_FYD == true;
            btnEvaluacionCompetenciasFalse.Checked = !vLstPeriodo.FG_EVALUACION_FYD == false;
            btnDesempenoTrue.Checked  = vLstPeriodo.FG_EVALUACION_DESEMPEÑO == true;
            btnDesempenoFalse.Checked = !vLstPeriodo.FG_EVALUACION_DESEMPEÑO == false;
            btnClimaTrue.Checked      = vLstPeriodo.FG_EVALUACION_CLIMA_LABORAL == true;
            btnClimaFalse.Checked     = !vLstPeriodo.FG_EVALUACION_CLIMA_LABORAL == false;
            btnSalarialTrue.Checked   = vLstPeriodo.FG_SITUACION_SALARIAL == true;
            btnSalarialFalse.Checked  = !vLstPeriodo.FG_SITUACION_SALARIAL == false;


            btnResultadoPruebasTrue.Enabled        = false;
            btnResultadoPruebasFalse.Enabled       = false;
            btnEvaluacionCompetenciasTrue.Enabled  = false;
            btnEvaluacionCompetenciasFalse.Enabled = false;
            btnDesempenoTrue.Enabled  = false;
            btnDesempenoFalse.Enabled = false;
            btnClimaTrue.Enabled      = false;
            btnClimaFalse.Enabled     = false;
            btnSalarialTrue.Enabled   = false;
            btnSalarialFalse.Enabled  = false;
        }
Beispiel #2
0
        private void CargarDatos()
        {
            TableroControlNegocio nTableroControl = new TableroControlNegocio();

            SPE_OBTIENE_PERIODO_TABLERO_CONTROL_Result vTableroControl = nTableroControl.ObtenerPeriodoTableroControl(pIdPeriodo: vIdPeriodo).FirstOrDefault();

            if (vTableroControl != null)
            {
                txtIdPeriodo.InnerText = vTableroControl.CL_PERIODO;
                txtNbPeriodo.InnerText = vTableroControl.DS_PERIODO;

                vFgEvaluacionIdp       = vTableroControl.FG_EVALUACION_IDP == true;
                vFgEvalucionFyd        = vTableroControl.FG_EVALUACION_FYD == true;
                vFgEvaluacionDesempeno = vTableroControl.FG_EVALUACION_DESEMPEÑO == true;
                vFgEvaluacionClima     = vTableroControl.FG_EVALUACION_CLIMA_LABORAL == true;
                vFgSituacionSalarial   = vTableroControl.FG_SITUACION_SALARIAL == true;

                rtsConfiguracionPeriodo.Tabs[1].Visible = vFgEvaluacionIdp;
                rtsConfiguracionPeriodo.Tabs[2].Visible = vFgEvalucionFyd;
                rtsConfiguracionPeriodo.Tabs[3].Visible = vFgEvaluacionDesempeno;
                rtsConfiguracionPeriodo.Tabs[4].Visible = vFgEvaluacionClima;
                rtsConfiguracionPeriodo.Tabs[5].Visible = vFgSituacionSalarial;


                if (vTableroControl.CL_ESTADO_PERIODO == "CERRADO" || vTableroControl.CL_ESTADO_PERIODO == "Cerrado")
                {
                    btnAgregarPeriodoFyd.Enabled        = false;
                    btnEliminarPeriodoFyd.Enabled       = false;
                    btnAgregarPeriodoDesempeno.Enabled  = false;
                    btnEliminarPeriodoDesempeno.Enabled = false;
                    btnAgregarPeriodoClima.Enabled      = false;
                    btnEliminarPeriodoClima.Enabled     = false;
                    btnAgregarTabulador.Enabled         = false;
                    btnEliminarTabulador.Enabled        = false;
                    btnEliminarEvaluado.Enabled         = false;
                    btnSeleccionPorPersona.Enabled      = false;
                    btnSeleccionPorPuesto.Enabled       = false;
                    btnSeleccionPorArea.Enabled         = false;
                }
            }
        }
        protected void rlvPeriodos_ItemCommand(object sender, RadListViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                RadListViewDataItem item = e.ListViewItem as RadListViewDataItem;
                rlvPeriodos.SelectedItems.Clear();

                int vIdPeriodoLista = 0;
                if (int.TryParse(item.GetDataKeyValue("ID_PERIODO").ToString(), out vIdPeriodoLista))
                {
                    vIdPeriodo = vIdPeriodoLista;
                }

                TableroControlNegocio nTableroControl = new TableroControlNegocio();
                SPE_OBTIENE_PERIODO_TABLERO_CONTROL_Result vPeriodo = nTableroControl.ObtenerPeriodoTableroControl(pIdPeriodo: vIdPeriodo).FirstOrDefault();

                txtClPeriodo.Text = vPeriodo.CL_PERIODO;
                txtDsPeriodo.Text = vPeriodo.DS_PERIODO;
                txtClEstatus.Text = vPeriodo.CL_ESTADO_PERIODO;
                //txtTipo.Text = vPeriodo.CL_TIPO_PUESTO;
                txtUsuarioMod.Text = vPeriodo.CL_USUARIO_APP_MODIFICA;
                txtFechaMod.Text   = String.Format("{0:dd/MM/yyyy}", vPeriodo.FE_MODIFICA);
            }
        }
Beispiel #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            vClUsuario  = ContextoUsuario.oUsuario.CL_USUARIO;
            vNbPrograma = ContextoUsuario.nbPrograma;
            vIdRol      = ContextoUsuario.oUsuario.oRol.ID_ROL;

            if (!IsPostBack)
            {
                if (Request.Params["pIdTablero"] != null)
                {
                    vFgComentarios    = false;
                    vIdTableroControl = int.Parse(Request.Params["pIdTablero"].ToString());

                    vLstColumnas             = new List <E_PERIODOS_EVALUADOS>();
                    vLstEvaluados            = new List <E_EVALUADOS_TABLERO_CONTROL>();
                    vLstResultFyD            = new List <SPE_OBTIENE_RESULTADOS_FYD_TABLERO_Result>();
                    vLstResultEd             = new List <SPE_OBTIENE_RESULTADOS_ED_TABLERO_Result>();
                    vLstTabuladores          = new List <SPE_OBTIENE_RESULTADOS_TABULADORES_TABLERO_Result>();
                    vLstCompatibilidad       = new List <SPE_OBTIENE_COMPATIBILIDAD_PUESTO_TABLERO_Result>();
                    vLstClimaLaboral         = new List <SPE_OBTIENE_RESULTADOS_CLIMA_LABORAL_TABLERO_Result>();
                    vLstComentariosEvaluados = new List <E_COMENTARIOS_EVALUADOS>();

                    TableroControlNegocio nTablero = new TableroControlNegocio();
                    var vPeriodoTablero            = nTablero.ObtenerPeriodoTableroControl(vIdTableroControl, null).FirstOrDefault();
                    btnGuardar.Enabled         = vPeriodoTablero.FG_GENERADO == true ? false : true;
                    btnGuardarPrograma.Enabled = vPeriodoTablero.FG_GENERADO == true ? false : true;
                    btnRecalcular.Enabled      = vPeriodoTablero.FG_GENERADO == true ? false : true;
                    btnGuardarConsulta.Visible = false;

                    if (vPeriodoTablero.FG_EVALUACION_IDP == true)
                    {
                        txtIdp.Value = (double?)vPeriodoTablero.PR_IDP;
                    }
                    else
                    {
                        txtIdp.Enabled = false;
                    }

                    if (vPeriodoTablero.FG_EVALUACION_FYD == true)
                    {
                        txtFyd.Value = (double?)vPeriodoTablero.PR_FYD;
                    }
                    else
                    {
                        txtFyd.Enabled = false;
                    }

                    if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                    {
                        txtDesempeno.Value = (double?)vPeriodoTablero.PR_DESEMPENO;
                    }
                    else
                    {
                        txtDesempeno.Enabled = false;
                    }

                    if (vPeriodoTablero.FG_EVALUACION_CLIMA_LABORAL == true)
                    {
                        txtClima.Value = (double?)vPeriodoTablero.PR_CLIMA_LABORAL;
                    }
                    else
                    {
                        txtClima.Enabled = false;
                    }

                    //grdTableroControl.MasterTableView.ColumnGroups[0].HeaderText = "EVALUACIÓN DE PRUEBAS";
                    //grdTableroControl.MasterTableView.ColumnGroups[1].HeaderText = "EVALUACIÓN DE COMPETENCIAS </br> Compatibilidad con el puesto";
                    //grdTableroControl.MasterTableView.ColumnGroups[1].HeaderStyle.Height = 200;
                    //grdTableroControl.MasterTableView.ColumnGroups[2].HeaderText = "EVALUACIÓN DE DESEMPEÑO </br> Porcentaje de cumplimiento";
                    //grdTableroControl.MasterTableView.ColumnGroups[3].HeaderText = "CLIMA LABORAL </br> Resultado";
                    //grdTableroControl.MasterTableView.ColumnGroups[4].HeaderText = "EVALUACIÓN DEL SUELDO </br> Situación salarial";
                    //   grdTableroControl.MasterTableView.Columns[0].Visible = false;
                }

                if (Request.Params["idEmpleado"] != null)
                {
                    vFgComentarios = false;
                    vIdEmpleado    = int.Parse(Request.Params["idEmpleado"].ToString());

                    if (Request.Params["idDesempeno"] != null)
                    {
                        vIdDesempeno = int.Parse(Request.Params["idDesempeno"].ToString());
                    }
                    if (Request.Params["idCompetencia"] != null)
                    {
                        vIdCompetencias = int.Parse(Request.Params["idCompetencia"].ToString());
                    }
                    if (Request.Params["idPuesto"] != null)
                    {
                        vIdPuesto = int.Parse(Request.Params["idPuesto"].ToString());
                    }

                    TableroControlNegocio nTablero = new TableroControlNegocio();
                    var vPeriodoTablero            = nTablero.ObtenerPeriodoTableroControl(null, null, vIdEmpleado, vIdPuesto).FirstOrDefault();
                    btnGuardar.Visible = false;

                    if (vPeriodoTablero != null)
                    {
                        if (vPeriodoTablero.FG_EVALUACION_IDP == true)
                        {
                            txtIdp.Value = (double?)vPeriodoTablero.PR_IDP;
                        }
                        else
                        {
                            txtIdp.Enabled = false;
                        }

                        if (vPeriodoTablero.FG_EVALUACION_FYD == true)
                        {
                            txtFyd.Value = (double?)vPeriodoTablero.PR_FYD;
                        }
                        else
                        {
                            txtFyd.Enabled = false;
                        }

                        if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                        {
                            txtDesempeno.Value = (double?)vPeriodoTablero.PR_DESEMPENO;
                        }
                        else
                        {
                            txtDesempeno.Enabled = false;
                        }

                        if (vPeriodoTablero.FG_EVALUACION_CLIMA_LABORAL == true)
                        {
                            txtClima.Value = (double?)vPeriodoTablero.PR_CLIMA_LABORAL;
                        }
                        else
                        {
                            txtClima.Enabled = false;
                        }
                    }
                    else
                    {
                        txtIdp.Enabled       = false;
                        txtFyd.Enabled       = false;
                        txtDesempeno.Enabled = false;
                        txtClima.Enabled     = false;
                    }


                    //    grdTableroControl.MasterTableView.Columns[0].Visible = false;
                }
            }
        }
Beispiel #5
0
        private DataTable ObtieneTableroControl()
        {
            TableroControlNegocio nTablero = new TableroControlNegocio();

            vLstColumnas       = nTablero.ObtenerPeriodosEvaluadosTableroControl(vIdTableroControl, vIdEmpleado).ToList();
            vLstEvaluados      = nTablero.ObtenerEvaluadosTableroControl(vIdTableroControl, vIdEmpleado, pIdRol: vIdRol).ToList();
            vLstCompatibilidad = nTablero.ObtenerCompatibilidadPuestoTablero(vIdTableroControl, vIdEmpleado, vIdPuesto).ToList();
            vLstResultFyD      = nTablero.ObtenerResultadosFyDTableroControl(vIdTableroControl, vIdEmpleado, vIdPuesto).ToList();
            vLstResultEd       = nTablero.ObtenerResultadosEDTableroControl(vIdTableroControl, vIdEmpleado).ToList();
            vLstClimaLaboral   = nTablero.ObtenerClimaLaboralTablero(vIdTableroControl, vIdEmpleado).ToList();
            vLstTabuladores    = nTablero.ObtenerTabuladoresTableroControl(vIdTableroControl, vIdEmpleado).ToList();
            var vPeriodoTablero = nTablero.ObtenerPeriodoTableroControl(vIdTableroControl, null, vIdEmpleado, vIdPuesto).FirstOrDefault();

            string vDivsCeldaPromedio = "";
            string vAdicionales       = "";
            string vDivsCeldasPo      = "<table class=\"tablaColor\"> " +
                                        "<tr> " +
                                        "<td class=\"porcentaje\"> " +
                                        "<div class=\"divPorcentaje\">{0}</div> " +
                                        "</td> " +
                                        "<td class=\"color\"> " +
                                        "<div class=\"{1}\">&nbsp;</div> " +
                                        "</td> </tr> </table>";


            DataTable vDtPivot = new DataTable();

            vDtPivot.Columns.Add("FI_FOTOGRAFIA", typeof(string));
            vDtPivot.Columns.Add("NB_EMPLEADO_PUESTO", typeof(string));
            vDtPivot.Columns.Add("ID_EVALUADO", typeof(string));

            //  if (vFgComentarios == true)
            vDtPivot.Columns.Add("DS_COMENTARIOS", typeof(string));

            if (vPeriodoTablero != null)
            {
                if (vPeriodoTablero.FG_EVALUACION_IDP == true)
                {
                    vDtPivot.Columns.Add("COMPATIVILIDAD_VS_PUESTO", typeof(string));
                }

                foreach (var item in vLstColumnas)
                {
                    if (item.CL_TIPO_PERIODO_REFERENCIA == "FD_EVALUACION")
                    {
                        vDtPivot.Columns.Add(item.ID_PERIODO_REFERENCIA.ToString(), typeof(string));
                    }
                }

                foreach (var item in vLstColumnas)
                {
                    switch (item.CL_TIPO_PERIODO_REFERENCIA)
                    {
                    case "EO_DESEMPENO":
                        vDtPivot.Columns.Add(item.ID_PERIODO_REFERENCIA.ToString(), typeof(string));
                        break;

                    case "EO_CLIMA":
                        vDtPivot.Columns.Add(item.ID_PERIODO_REFERENCIA.ToString(), typeof(string));
                        break;

                    case "TABULADOR":
                        vDtPivot.Columns.Add("T" + item.ID_PERIODO_REFERENCIA.ToString(), typeof(string));
                        break;
                    }
                }

                if (vPeriodoTablero.FG_EVALUACION_FYD == true)
                {
                    vDtPivot.Columns.Add("TENDENCIA_FYD", typeof(string));
                }
                if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                {
                    vDtPivot.Columns.Add("TENDENCIA_ED", typeof(string));
                }

                vDtPivot.Columns.Add("PROMEDIO", typeof(string));

                if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                {
                    vDtPivot.Columns.Add("BONO", typeof(string));
                }
            }
            else
            {
                vDtPivot.Columns.Add("COMPATIVILIDAD_VS_PUESTO", typeof(string));
                vDtPivot.Columns.Add("PROMEDIO", typeof(string));
            }


            foreach (var item in vLstEvaluados)
            {
                decimal?vPromedio      = 0;
                decimal?vPorcentajeIDP = 0;
                decimal?vPorcentajeFYD = 0;
                int     vNumPeriodoFyD = 0;
                decimal?vPorcentajeED  = 0;
                int     vNumPeriodoED  = 0;
                decimal?vPorcentajeCL  = 0;
                int     vNumPeriodoCL  = 0;
                double  vPromedioTotal = 0.0;

                DataRow vDr = vDtPivot.NewRow();

                vDr["DS_COMENTARIOS"] = item.DS_COMENTARIO;

                var vResultado = vLstEvaluados.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.FI_FOTOGRAFIA != null).FirstOrDefault();
                if (vResultado != null)
                {
                    vDr["FI_FOTOGRAFIA"] = "<div class=\"image_resize\"><img id=\"profileImage\" src=\"data:image/jpg;base64, " + Convert.ToBase64String(vResultado.FI_FOTOGRAFIA) + "\"></div>";
                }
                else
                {
                    vDr["FI_FOTOGRAFIA"] = "<div class=\"image_resize\"><img id=\"profileImage\"></div>";
                }

                if (item.XML_CAMPOS_ADICIONALES != null)
                {
                    vAdicionales = ObtenerAdicionales(item.XML_CAMPOS_ADICIONALES.ToString());
                }

                vDr["NB_EMPLEADO_PUESTO"] = "<p title=\"Clave: " + item.CL_EMPLEADO + ", " + item.CL_DEPARTAMENTO + " " + item.NB_DEPARTAMENTO + ", " + vAdicionales + "\"><a href=\"javascript:OpenInventario(" + item.ID_EMPLEADO + ")\">" + item.NB_EMPLEADO + "</a></p>" + "<p title=\"" + item.CL_PUESTO + "\"><a href=\"javascript:OpenDescriptivo(" + item.ID_PUESTO_PERIODO + ")\">" + item.NB_PUESTO + "</a></p>";
                vDr["ID_EVALUADO"]        = item.ID_EVALUADO.ToString();


                if (vPeriodoTablero != null)
                {
                    if (vPeriodoTablero.FG_EVALUACION_IDP == true)
                    {
                        var vCompatibilidad = vLstCompatibilidad.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PUESTO == item.ID_PUESTO_PERIODO).FirstOrDefault();
                        if (vCompatibilidad != null)
                        {
                            if (vCompatibilidad.PROMEDIO != null)
                            {
                                vPorcentajeIDP = vPorcentajeIDP + vCompatibilidad.PROMEDIO;
                                vDr["COMPATIVILIDAD_VS_PUESTO"] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\"><a href=\"javascript:openComparativaPuesto(" + vCompatibilidad.ID_CANDIDATO + ", " + vCompatibilidad.ID_PUESTO + ")\">" + vCompatibilidad.PROMEDIO.ToString() + "%</a></p>", vCompatibilidad.CL_COLOR_COMPATIBILIDAD);
                            }
                            else
                            {
                                vDr["COMPATIVILIDAD_VS_PUESTO"] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A</p>", "divNa");
                            }
                        }

                        else
                        {
                            vDr["COMPATIVILIDAD_VS_PUESTO"] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A</p>", "divNa");
                        }

                        vPromedio = vPromedio + ((vPorcentajeIDP) * (vPeriodoTablero.PR_IDP / 100));
                    }

                    foreach (var vColumn in vLstColumnas)
                    {
                        if (vColumn.CL_TIPO_PERIODO_REFERENCIA == "FD_EVALUACION")
                        {
                            var vResult = vLstResultFyD.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PERIODO_REFERENCIA == vColumn.ID_PERIODO_REFERENCIA).FirstOrDefault();
                            if (vResult != null)
                            {
                                vPorcentajeFYD = vPorcentajeFYD + vResult.PR_CUMPLIMIENTO;
                                vNumPeriodoFyD = vNumPeriodoFyD + 1;
                                vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\"><a href=\"javascript:OpenReporteIndividual(" + vResult.ID_EVALUADO + ", " + vResult.ID_PERIODO_REFERENCIA + ")\">" + vResult.PR_CUMPLIMIENTO.ToString() + "%</a></p>", vResult.CL_COLOR_CUMPLIMIENTO);
                            }
                            else
                            {
                                vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A<p>", "divNa");
                            }
                        }

                        if (vColumn.CL_TIPO_PERIODO_REFERENCIA == "EO_DESEMPENO")
                        {
                            var vResult = vLstResultEd.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PERIODO_REFERENCIA == vColumn.ID_PERIODO_REFERENCIA).FirstOrDefault();
                            if (vResult != null)
                            {
                                vPorcentajeED = vPorcentajeED + vResult.PR_CUMPLIMIENTO_EVALUADO;
                                vNumPeriodoED = vNumPeriodoED + 1;
                                vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\"><a href=\"javascript:OpenReporteCumplimientoPersonal(" + vResult.ID_EVALUADO + ", " + vResult.ID_PERIODO_REFERENCIA + ")\">" + vResult.PR_CUMPLIMIENTO_EVALUADO.ToString() + "%</a></p>", vResult.CL_COLOR_CUMPLIMIENTO);
                            }
                            else
                            {
                                vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A</p>", "divNa");
                            }
                        }

                        if (vColumn.CL_TIPO_PERIODO_REFERENCIA == "TABULADOR")
                        {
                            var vResult = vLstTabuladores.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PUESTO == item.ID_PUESTO_PERIODO).FirstOrDefault();
                            if (vResult != null)
                            {
                                string vIcono = ObtenerIconoDiferencia(vResult.DIFERENCIA, vResult.MN_SUELDO_ORIGINAL);
                                vDr["T" + vColumn.ID_PERIODO_REFERENCIA.ToString()] = "<p title=\"" + vResult.MN_SUELDO_ORIGINAL.ToString() + ", " + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">" + (Math.Abs((decimal)vResult.DIFERENCIA)).ToString() + "% &nbsp;<img src='../Assets/images/Icons/25/Arrow" + vIcono + ".png' /></p>";
                            }
                            else
                            {
                                vDr["T" + vColumn.ID_PERIODO_REFERENCIA.ToString()] = "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A</p>";
                            }
                        }

                        if (vColumn.CL_TIPO_PERIODO_REFERENCIA == "EO_CLIMA")
                        {
                            var vResult = vLstClimaLaboral.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PERIODO == vColumn.ID_PERIODO_REFERENCIA).FirstOrDefault();
                            if (vResult != null)
                            {
                                if (vResult.PROMEDIO_RESULTADO != null)
                                {
                                    vPorcentajeCL = vPorcentajeCL + vResult.PROMEDIO_RESULTADO;
                                    vNumPeriodoCL = vNumPeriodoCL + 1;
                                    vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\"><a href=\"javascript:openCuestionarioClima(" + vResult.ID_EVALUADOR + ", " + vResult.ID_PERIODO + ")\">" + vResult.PROMEDIO_RESULTADO.ToString() + "%</a></p>", vResult.COLOR_DIMENSION);
                                }
                                else
                                {
                                    vPorcentajeCL = vPorcentajeCL + ((vResult.PROMEDIO_RESULTADO == null) ? 0 : vResult.PROMEDIO_RESULTADO);
                                    vNumPeriodoCL = vNumPeriodoCL + 1;
                                    vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\"><a href=\"javascript:openCuestionarioClima(" + vResult.ID_EVALUADOR + ", " + vResult.ID_PERIODO + ")\">0%</a></p>", vResult.COLOR_DIMENSION);
                                }
                            }
                            else
                            {
                                vDr[vColumn.ID_PERIODO_REFERENCIA.ToString()] = String.Format(vDivsCeldasPo, "<p title=\"" + item.CL_PUESTO + ", " + item.NB_PUESTO + "\">N/A</p>", "divNa");
                            }
                        }
                    }

                    if (vPeriodoTablero.FG_EVALUACION_FYD == true)
                    {
                        var vResult = vLstResultFyD.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PUESTO == item.ID_PUESTO_PERIODO).FirstOrDefault();
                        if (vResult != null)
                        {
                            vDr["TENDENCIA_FYD"] = String.Format(vDivsCeldasPo, vResult.FYD_TENDENCIA, vResult.CL_COLOR_TENDENCIA);
                        }
                        else
                        {
                            vDr["TENDENCIA_FYD"] = String.Format(vDivsCeldasPo, "N/A", "divNa");
                        }
                    }

                    if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                    {
                        var vResult = vLstResultEd.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PUESTO_PERIODO == item.ID_PUESTO_PERIODO).FirstOrDefault();
                        if (vResult != null)
                        {
                            vDr["TENDENCIA_ED"] = String.Format(vDivsCeldasPo, vResult.ED_TENDENCIA, vResult.CL_COLOR_TENDENCIA);
                        }
                        else
                        {
                            vDr["TENDENCIA_ED"] = String.Format(vDivsCeldasPo, "N/A", "divNa");
                        }
                    }

                    if (vPeriodoTablero.FG_EVALUACION_DESEMPEÑO == true)
                    {
                        var vBono = vLstResultEd.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.ID_PUESTO_PERIODO == item.ID_PUESTO_PERIODO).FirstOrDefault();
                        if (vBono != null)
                        {
                            vDr["BONO"] = "$" + vBono.MN_BONO.ToString();
                        }
                        else
                        {
                            vDr["BONO"] = "N/A";
                        }
                    }

                    //// Se hace proceso de calculo de porcentajes por modulo del tablero

                    if (vNumPeriodoFyD > 0)
                    {
                        vPromedio = ((vPromedio == null) ? 0 : vPromedio) + ((vPorcentajeFYD / vNumPeriodoFyD) * (vPeriodoTablero.PR_FYD / 100));
                    }
                    if (vNumPeriodoED > 0)
                    {
                        vPromedio = vPromedio + ((vPorcentajeED / vNumPeriodoED) * (vPeriodoTablero.PR_DESEMPENO / 100));
                    }
                    if (vNumPeriodoCL > 0)
                    {
                        vPromedio = vPromedio + ((vPorcentajeCL / vNumPeriodoCL) * (vPeriodoTablero.PR_CLIMA_LABORAL / 100));
                    }

                    vDivsCeldaPromedio = ObtenerColorPromedio(vPromedio);
                    if (vPromedio != null)
                    {
                        vPromedioTotal = (double)vPromedio;
                    }
                    vDr["PROMEDIO"] = String.Format(vDivsCeldasPo, Math.Round(vPromedioTotal, 2).ToString() + "%", vDivsCeldaPromedio);
                }
                vDtPivot.Rows.Add(vDr);
            }

            return(vDtPivot);
        }
        protected void rlvPeriodos_NeedDataSource(object sender, Telerik.Web.UI.RadListViewNeedDataSourceEventArgs e)
        {
            TableroControlNegocio nTableroControl = new TableroControlNegocio();

            rlvPeriodos.DataSource = nTableroControl.ObtenerPeriodoTableroControl();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            vClUsuario  = ContextoUsuario.oUsuario.CL_USUARIO;
            vNbPrograma = ContextoUsuario.nbPrograma;

            if (!Page.IsPostBack)
            {
                bool vFgPruebas      = false;
                bool vFgCompetencias = false;
                bool vFgDesempeno    = false;
                bool vFgClima        = false;
                bool vFgSalarial     = false;
                btnResultadoPruebasTrue.Checked        = vFgPruebas;
                btnResultadoPruebasFalse.Checked       = !vFgPruebas;
                btnEvaluacionCompetenciasTrue.Checked  = vFgCompetencias;
                btnEvaluacionCompetenciasFalse.Checked = !vFgCompetencias;
                btnDesempenoTrue.Checked  = vFgDesempeno;
                btnDesempenoFalse.Checked = !vFgDesempeno;
                btnClimaTrue.Checked      = vFgClima;
                btnClimaFalse.Checked     = !vFgClima;
                btnSalarialTrue.Checked   = vFgSalarial;
                btnSalarialFalse.Checked  = !vFgSalarial;

                if (Request.Params["pIdPeriodo"] != null)
                {
                    vIdPeriodo = int.Parse(Request.Params["pIdPeriodo"]);
                    CargarDatos(vIdPeriodo);
                }

                if (Request.Params["idEmpleado"] != null)
                {
                    vIdEmpleado = int.Parse(Request.Params["idEmpleado"].ToString());
                    vIdPuesto   = int.Parse(Request.Params["idPuesto"].ToString());

                    TableroControlNegocio nTablero = new TableroControlNegocio();
                    var vPeriodoTablero            = nTablero.ObtenerPeriodoTableroControl(null, null, vIdEmpleado, vIdPuesto).FirstOrDefault();

                    btnResultadoPruebasTrue.Checked        = (bool)vPeriodoTablero.FG_EVALUACION_IDP;
                    btnResultadoPruebasFalse.Checked       = !(bool)vPeriodoTablero.FG_EVALUACION_IDP;
                    btnEvaluacionCompetenciasTrue.Checked  = (bool)vPeriodoTablero.FG_EVALUACION_FYD;
                    btnEvaluacionCompetenciasFalse.Checked = !(bool)vPeriodoTablero.FG_EVALUACION_FYD;
                    btnDesempenoTrue.Checked  = (bool)vPeriodoTablero.FG_EVALUACION_DESEMPEÑO;
                    btnDesempenoFalse.Checked = !(bool)vPeriodoTablero.FG_EVALUACION_DESEMPEÑO;
                    btnClimaTrue.Checked      = (bool)vPeriodoTablero.FG_EVALUACION_CLIMA_LABORAL;
                    btnClimaFalse.Checked     = !(bool)vPeriodoTablero.FG_EVALUACION_CLIMA_LABORAL;
                    btnSalarialTrue.Checked   = (bool)vPeriodoTablero.FG_SITUACION_SALARIAL;
                    btnSalarialFalse.Checked  = !(bool)vPeriodoTablero.FG_SITUACION_SALARIAL;


                    btnResultadoPruebasTrue.Enabled        = false;;
                    btnResultadoPruebasFalse.Enabled       = false;
                    btnEvaluacionCompetenciasTrue.Enabled  = false;
                    btnEvaluacionCompetenciasFalse.Enabled = false;
                    btnDesempenoTrue.Enabled  = false;
                    btnDesempenoFalse.Enabled = false;
                    btnClimaTrue.Enabled      = false;
                    btnClimaFalse.Enabled     = false;
                    btnSalarialTrue.Enabled   = false;
                    btnSalarialFalse.Enabled  = false;
                }
            }
        }