Ejemplo n.º 1
0
        protected void pgCompetencias_CellDataBound(object sender, Telerik.Web.UI.PivotGridCellDataBoundEventArgs e)
        {
            int vNoValorCompetencia;

            if (e.Cell is PivotGridColumnHeaderCell)
            {
                E_COMPARACION_COMPETENCIA vEmpleado = ComparacionCompetencias.Where(t => t.CL_EMPLEADO.Equals(e.Cell.DataItem.ToString())).FirstOrDefault();

                if (vEmpleado != null)
                {
                    e.Cell.ToolTip = vEmpleado.NB_EMPLEADO;
                    e.Cell.Text    = String.Format("<a href='#' onclick='OpenInventario({1})'>{0}</a>", vEmpleado.CL_EMPLEADO, vEmpleado.ID_EMPLEADO);

                    oListaEmpleados.Add(e.Cell.DataItem.ToString());
                }
            }


            if (e.Cell is PivotGridRowHeaderCell)
            {
                if (e.Cell.Controls.Count > 1)
                {
                    (e.Cell.Controls[0] as Button).Visible = false;
                }
            }
            else if (e.Cell is PivotGridDataCell)
            {
                PivotGridDataCell celda = (PivotGridDataCell)e.Cell;

                if (celda.IsGrandTotalCell)
                {
                    celda.Text = "<div style=\"text-align: center;\">" + obtenerPromedio(oListaEmpleados[celda.ColumnIndex]).ToString() + "</div>";
                }
                else
                {
                    System.Web.UI.HtmlControls.HtmlGenericControl divColor    = celda.FindControl("divColorComparacion") as System.Web.UI.HtmlControls.HtmlGenericControl;
                    System.Web.UI.HtmlControls.HtmlGenericControl divPromedio = celda.FindControl("divPromedio") as System.Web.UI.HtmlControls.HtmlGenericControl;
                    System.Web.UI.HtmlControls.HtmlGenericControl divNa       = celda.FindControl("divNa") as System.Web.UI.HtmlControls.HtmlGenericControl;
                    System.Web.UI.HtmlControls.HtmlGenericControl divNc       = celda.FindControl("divNc") as System.Web.UI.HtmlControls.HtmlGenericControl;

                    if (e.Cell.DataItem != null)
                    {
                        if ((decimal)e.Cell.DataItem == Convert.ToDecimal(-1))
                        {
                            //e.Cell.Text = "<div style=\"text-align: center;\">N/C</div>";
                            //e.Cell.CssClass = "PotencialNC";
                            divNa.Style.Add("display", "none");
                            divNc.Style.Add("display", "block");
                            divPromedio.Style.Add("display", "none");
                            divColor.Style.Add("background-color", "gray");
                        }
                        else if (celda.ParentRowIndexes[2].ToString() == "Total de elementos en común:")
                        {
                            divNa.Style.Add("display", "none");
                            divNc.Style.Add("display", "none");
                            divPromedio.Style.Add("display", "block");
                            divPromedio.Style.Add(" font-weight", "bold");
                            divColor.Style.Add("background-color", "white");
                        }
                        else
                        {
                            vNoValorCompetencia = Convert.ToInt32((decimal)e.Cell.DataItem);

                            if (vNoValorCompetencia == 0)
                            {
                                //e.Cell.CssClass = "PotencialPuestoBajo";
                                this.rtmInfoEmpleados.TargetControls.Add(celda.ClientID, oListaEmpleados[celda.ColumnIndex], true);
                                divNa.Style.Add("display", "none");
                                divNc.Style.Add("display", "none");
                                divPromedio.Style.Add("display", "none");
                                divColor.Style.Add("background-color", "red");
                            }
                            else if (vNoValorCompetencia == 1)
                            {
                                //e.Cell.CssClass = "PotencialPuestoAlto";
                                divNa.Style.Add("display", "none");
                                divNc.Style.Add("display", "none");
                                divPromedio.Style.Add("display", "none");
                                divColor.Style.Add("background-color", "green");
                                this.rtmInfoEmpleados.TargetControls.Add(celda.ClientID, oListaEmpleados[celda.ColumnIndex], true);
                            }
                            else if (vNoValorCompetencia < 70)
                            {
                                //e.Cell.CssClass = "PotencialBajo";
                                divNa.Style.Add("display", "none");
                                divNc.Style.Add("display", "none");
                                divPromedio.Style.Add("display", "block");
                                divColor.Style.Add("background-color", "red");
                            }
                            else if (vNoValorCompetencia >= 70 & vNoValorCompetencia <= 90)
                            {
                                //e.Cell.CssClass = "PotencialIntermedio";
                                divNa.Style.Add("display", "none");
                                divNc.Style.Add("display", "none");
                                divPromedio.Style.Add("display", "block");
                                divColor.Style.Add("background-color", "gold");
                            }
                            else if (vNoValorCompetencia > 90)
                            {
                                //e.Cell.CssClass = "PotencialAlto";
                                divNa.Style.Add("display", "none");
                                divNc.Style.Add("display", "none");
                                divPromedio.Style.Add("display", "block");
                                divColor.Style.Add("background-color", "green");
                            }
                        }
                    }
                    else
                    {
                        divNa.Style.Add("display", "none");
                        divNc.Style.Add("display", "block");
                        divPromedio.Style.Add("display", "none");
                        divColor.Style.Add("background-color", "gray");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public List <E_COMPARACION_COMPETENCIA> obtieneComparacionCompetenciasPlanSucesion(string XML_EMPLEADOS, int?ID_PUESTO)
        {
            using (contexto = new SistemaSigeinEntities())
            {
                var listaCompetencias = contexto.SPE_OBTIENE_COMPARACION_COMPETENCIAS_PLAN_SUCESION(XML_EMPLEADOS, ID_PUESTO).ToList();
                var listaPuestos      = contexto.SPE_OBTIENE_COMPARACION_PUESTOS_PLAN_SUCESION(ID_PUESTO, XML_EMPLEADOS).ToList();
                int maximo;

                if (listaCompetencias.Count() > 0)
                {
                    maximo = listaCompetencias.Max(t => t.NO_ORDEN) + 1;
                }
                else
                {
                    maximo = 1;
                }



                var source = (from a in listaCompetencias
                              select new E_COMPARACION_COMPETENCIA
                {
                    ID_PUESTO = a.ID_PUESTO,
                    CL_PUESTO = a.CL_PUESTO,
                    NB_PUESTO = a.NB_PUESTO,
                    ID_EMPLEADO = a.ID_EMPLEADO,
                    CL_EMPLEADO = a.CL_EVALUADO,
                    NB_EMPLEADO = a.NB_EVALUADO,
                    ID_COMPETENCIA = a.ID_COMPETENCIA,
                    NB_COMPETENCIA = a.NB_COMPETENCIA,
                    DS_COMPETENCIA = a.DS_COMPETENCIA,
                    //NO_VALOR_NIVEL = a.NO_VALOR_NIVEL,
                    //NO_RESULTADO_PROMEDIO = a.NO_RESULTADO_PROMEDIO,
                    PR_COMPATIBILIDAD = a.PR_COMPATIBILIDAD.ToString(),
                    PR_NO_COMPATIBILIDAD = a.PR_COMPATIBILIDAD,
                    CL_COLOR = a.CL_COLOR,
                    NO_ORDEN = a.NO_ORDEN,
                    NO_ACIERTO = a.NO_CONTADOR,
                    CL_TIPO_REGISTRO = "C"
                }).ToList();

                foreach (SPE_OBTIENE_COMPARACION_PUESTOS_PLAN_SUCESION_Result item in listaPuestos)
                {
                    E_COMPARACION_COMPETENCIA e = new E_COMPARACION_COMPETENCIA();

                    int vContador = listaCompetencias.Where(w => w.CL_EVALUADO == item.CL_EMPLEADO).Sum(s => s.NO_CONTADOR);

                    e.CL_EMPLEADO      = item.CL_EMPLEADO;
                    e.NB_COMPETENCIA   = item.CL_ITEM;
                    e.DS_COMPETENCIA   = string.IsNullOrEmpty(item.DS_ITEM) ? "" : item.DS_ITEM;
                    e.NO_ORDEN         = maximo;
                    e.CL_COLOR         = "#F5F5F5";
                    e.CL_TIPO_REGISTRO = "P";

                    switch (item.ID_ITEM)
                    {
                    case 1:
                        e.PR_NO_COMPATIBILIDAD = item.FG_CUMPLE_EDAD;
                        e.NO_ACIERTO           = item.FG_CUMPLE_EDAD;
                        e.PR_COMPATIBILIDAD    = item.NO_EDAD;
                        break;

                    case 2:
                        e.PR_NO_COMPATIBILIDAD = item.FG_GENERO;
                        e.NO_ACIERTO           = item.FG_GENERO;
                        e.PR_COMPATIBILIDAD    = item.NB_GENERO;
                        break;

                    case 3:
                        e.PR_NO_COMPATIBILIDAD = item.FG_ESTADO_CIVIL;
                        e.NO_ACIERTO           = item.FG_ESTADO_CIVIL;
                        e.PR_COMPATIBILIDAD    = item.CL_ESTADO_CIVIL;
                        break;

                    case 4:
                        e.PR_NO_COMPATIBILIDAD = item.FG_PROFESIONAL;
                        e.NO_ACIERTO           = item.FG_PROFESIONAL;
                        e.PR_COMPATIBILIDAD    = item.NB_PROFESIONAL;
                        break;

                    case 5:
                        e.PR_NO_COMPATIBILIDAD = item.FG_POSTGRADO;
                        e.NO_ACIERTO           = item.FG_POSTGRADO;
                        e.PR_COMPATIBILIDAD    = item.NB_POSTGRADO;
                        break;

                    case 6:
                        e.PR_NO_COMPATIBILIDAD = item.FG_SUELDO;
                        e.NO_ACIERTO           = item.FG_SUELDO;
                        e.PR_COMPATIBILIDAD    = item.MN_SUELDO.ToString();
                        break;

                    case 7:
                        e.PR_NO_COMPATIBILIDAD = item.TOTAL + vContador;
                        e.NO_ACIERTO           = 0;
                        e.PR_COMPATIBILIDAD    = item.TOTAL.ToString();
                        break;

                    default:
                        break;
                    }

                    source.Add(e);
                }

                return(source);
            }
        }