Example #1
0
        private void CargarCalificaciones()
        {
            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            E_RESULTADO vResultado = nComparativas.InsertaConsultaGlobalCalificaciones(vIdCandidato, vIdPuesto, vClUsuario, vNbPrograma);

            if (vResultado.CL_TIPO_ERROR == E_TIPO_RESPUESTA_DB.ERROR)
            {
                string vMensaje = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
                UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR, 400, 150, "");
            }
            else
            {
                vLstCalificaciones = nComparativas.ObtieneConsultaGlobalCalificaciones(vIdCandidato, vIdPuesto);
                vIdConsultaGlobal  = vLstCalificaciones[0].ID_CONSULTA_GLOBAL;

                if (vLstCalificaciones[0].DS_COMENTARIOS != null)
                {
                    reComentarios.Content    = Utileria.MostrarNotas(vLstCalificaciones[0].DS_COMENTARIOS);
                    txtComentarios.InnerHtml = Utileria.MostrarNotas(vLstCalificaciones[0].DS_COMENTARIOS);
                }

                decimal vPrtoTotalPonderacion = vLstCalificaciones.Sum(t => t.PR_FACTOR);

                if (vPrtoTotalPonderacion < 100)
                {
                    UtilMensajes.MensajeResultadoDB(rnMensaje, "La ponderaciĆ³n para este puesto no esta establecida.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: "");
                    btnGuardar.Enabled    = false;
                    btnRecalcular.Enabled = false;
                }
            }
        }
Example #2
0
        private void Guardar()
        {
            XElement vXmlValores = new XElement("GLOBAL");
            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            XElement vXmlComentarios = Utileria.GuardarNotas(reComentarios.Content, "XML_NOTAS");

            vXmlValores.Add(vLstCalificaciones.Select(t => new XElement("FACTOR",
                                                                        new XAttribute("ID_CONSULTA_GLOBAL_CALIFICACION", t.ID_CONSULTA_GLOBAL_CALIFICACION),
                                                                        new XAttribute("PR_CALIFICACION", t.PR_CALIFICACION),
                                                                        new XAttribute("PR_VALOR", t.PR_VALOR))));

            E_RESULTADO vResultado = nComparativas.ActualizarCalificacionConsultaGlobal(vIdCandidato, vIdPuesto, vIdConsultaGlobal, vXmlComentarios.ToString(), vXmlValores.ToString(), vClUsuario, vNbPrograma);
            string      vMensaje   = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;

            UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR, 400, 150, "");
        }
        private void CargarCalificaciones()
        {
            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            E_RESULTADO vResultado = nComparativas.InsertaConsultaGlobalCalificaciones(vIdCandidato, vIdPuesto, vClUsuario, vNbPrograma);

            if (vResultado.CL_TIPO_ERROR == E_TIPO_RESPUESTA_DB.ERROR)
            {
                string vMensaje = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE;
            }
            else
            {
                vLstCalificaciones = nComparativas.ObtieneConsultaGlobalCalificaciones(vIdCandidato, vIdPuesto);
                vIdConsultaGlobal  = vLstCalificaciones[0].ID_CONSULTA_GLOBAL;

                if (vLstCalificaciones[0].DS_COMENTARIOS != null)
                {
                    txtComentarios.InnerHtml = Utileria.MostrarNotas(vLstCalificaciones[0].DS_COMENTARIOS);
                }

                decimal vPrtoTotalPonderacion = vLstCalificaciones.Sum(t => t.PR_FACTOR);
            }
        }
Example #4
0
        protected void CargarPuestoCandidatos()
        {
            vListaCandidatos = new List <int>();

            if (vIdPuestoVsCandidatos != Guid.Empty)
            {
                E_PUESTO_VS_CANDIDATOS oPuestoCandidatos = ContextoConsultasComparativas.oPuestoVsCandidatos.Where(t => t.vIdPuestoVsCandidatos == vIdPuestoVsCandidatos).FirstOrDefault();
                vListaCandidatos = oPuestoCandidatos.vListaCandidatos;
            }

            var vXelements = vListaCandidatos.Select(x =>
                                                     new XElement("CANDIDATO",
                                                                  new XAttribute("ID_CANDIDATO", x)));

            XElement SELECCIONADOS =
                new XElement("CANDIDATOS", vXelements
                             );

            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            vPuestoCandidatos = nComparativas.ObtienePuestoCandidatos(pID_PUESTO: vIdPuesto, pXML_CANDIDATOS: SELECCIONADOS.ToString(), pFgConsultaParcial: vFgConsultaParcial, pFgCalificacionCero: vFgCalificacionCero).Select(s => new E_GRAFICA_PUESTO_CANDIDATOS
            {
                NB_COMPETENCIA     = s.NB_COMPETENCIA,
                NO_VALOR_NIVEL     = s.NO_VALOR_NIVEL,
                CL_CANDIDATO       = s.CL_CANDIDATO,
                NB_CANDIDATO       = s.NB_CANDIDATO,
                NO_VALOR_CANDIDATO = s.NO_VALOR_CANDIDATO,
                ID_CANDIDATO       = s.ID_CANDIDATO,
                DS_COMPETENCIA     = s.DS_COMPETENCIA,
                ID_BATERIA         = s.ID_BATERIA,
                CL_PUESTO          = s.CL_PUESTO,
                NB_PUESTO          = s.NB_PUESTO,
                PR_CANDIDATO       = s.PR_CANDIDATO,
                CL_COLOR           = s.CL_COLOR,
                PR_TRUNCADO        = CalculaPorcentaje(s.PR_CANDIDATO),
                CL_COMPETENCIA     = s.CL_COMPETENCIA,
                CL_SOLICITUD       = s.CL_SOLICITUD
            }).OrderBy(s => s.CL_COMPETENCIA).ToList();

            //if (vPuestoCandidatos.Count > 0)
            //{
            //    vs_NB_PUESTO = vPuestoCandidatos.FirstOrDefault().NB_PUESTO;
            //}

            //lbCandidatos.Controls.Add(GenerarTablaCandidatos(vPuestoCandidatos));

            //var vPuestoCompetencia = vPuestoCandidatos.Select(s => new { s.NO_VALOR_NIVEL, s.NB_PUESTO, s.NB_COMPETENCIA, s.CL_PUESTO }).Distinct().ToList();
            //if (vPuestoCompetencia.Count > 0)
            //lbPuestoCom.InnerText = "- (" + vPuestoCompetencia.FirstOrDefault().CL_PUESTO + ") " + vPuestoCompetencia.FirstOrDefault().NB_PUESTO;

            //GraficaPuestoCandidatos(vPuestoCandidatos);

            //txtPromedio.Enabled = false;
            //var promedio = vPuestoCandidatos.Average(s => s.PR_TRUNCADO);
            ////if (Convert.ToDouble(promedio) <= 100 && Convert.ToDouble(promedio) >= 0)
            //     txtPromedio.Value = Convert.ToDouble(promedio);
            //else if(Convert.ToDouble(promedio) > 100)
            //    txtPromedio.Value = 100;
            //else if (Convert.ToDouble(promedio) < 0)
            //    txtPromedio.Value = 0;

            //List<E_PROMEDIO> vlstPromedios = new List<E_PROMEDIO>();
            //foreach (var item in vListaCandidatos)
            //{
            //    List<E_PROMEDIO> vlist = new List<E_PROMEDIO>();
            //    foreach (var i in vPuestoCandidatos)
            //    {
            //        if (item == i.ID_CANDIDATO && i.NO_VALOR_NIVEL != 0)
            //        {
            //            vlist.Add(new E_PROMEDIO { NB_PUESTO = i.NB_CANDIDATO, PORCENTAJE = i.PR_TRUNCADO, PORCENTAJE_NO_TRUNCADO = i.PR_CANDIDATO });
            //        }
            //    }
            //    vlstPromedios.Add(new E_PROMEDIO
            //    {
            //        NB_PUESTO = vlist.Select(s => s.NB_PUESTO).FirstOrDefault(),
            //        PROMEDIO = vlist.Average(s => s.PORCENTAJE),
            //        FG_SUPERA_130 = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? true : false,
            //        PROMEDIO_TXT = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString() + "(*)" : Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString()
            //    });
            //}
            //rgdPromedios.DataSource = vlstPromedios.Where(w => w.NB_PUESTO != null);
            //rgdPromedios.DataBind();
            //rgdPromedios.Rebind();

            //for (int i = 0; i < vlstPromedios.Count; i++)
            //{
            //    if (vlstPromedios[i].FG_SUPERA_130 == true)
            //    {
            //        divMensajeMayor130.Visible = true;
            //        i = vlstPromedios.Count;
            //    }
            //}
        }
Example #5
0
        private void GenerarGrafica()
        {
            XElement vXelements = new XElement("CANDIDATO", new XAttribute("ID_CANDIDATO", vIdCandidato));

            XElement SELECCIONADOS = new XElement("CANDIDATOS", vXelements);

            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            vPuestoCandidatos = nComparativas.ObtienePuestoCandidatos(pID_PUESTO: vIdPuesto, pXML_CANDIDATOS: SELECCIONADOS.ToString(), pFgConsultaParcial: vFgConsultaParcial, pFgCalificacionCero: vFgCalificacionCero).Select(s => new E_GRAFICA_PUESTO_CANDIDATOS
            {
                NB_COMPETENCIA     = s.NB_COMPETENCIA,
                CL_PUESTO          = s.CL_PUESTO,
                CL_SOLICITUD       = s.CL_SOLICITUD,
                NO_VALOR_NIVEL     = s.NO_VALOR_NIVEL,
                NB_CANDIDATO       = s.NB_CANDIDATO,
                NO_VALOR_CANDIDATO = s.NO_VALOR_CANDIDATO,
                ID_CANDIDATO       = s.ID_CANDIDATO,
                DS_COMPETENCIA     = s.DS_COMPETENCIA,
                ID_BATERIA         = s.ID_BATERIA,
                NB_PUESTO          = s.NB_PUESTO,
                PR_CANDIDATO       = s.PR_CANDIDATO,
                CL_COLOR           = s.CL_COLOR,
                PR_TRUNCADO        = CalculaPorcentaje(s.PR_CANDIDATO)
            }).ToList();


            GraficaPuestoCandidatos(vPuestoCandidatos);

            List <E_PROMEDIO> vlstPromedios = new List <E_PROMEDIO>();

            List <E_PROMEDIO> vlist = new List <E_PROMEDIO>();

            foreach (var i in vPuestoCandidatos)
            {
                if (i.ID_CANDIDATO == vIdCandidato && i.NO_VALOR_NIVEL != 0)
                {
                    vlist.Add(new E_PROMEDIO {
                        NB_PUESTO = i.NB_CANDIDATO, PORCENTAJE = i.PR_TRUNCADO
                    });
                }
            }

            vlstPromedios.Add(new E_PROMEDIO {
                NB_PUESTO     = vlist.Select(s => s.NB_PUESTO).FirstOrDefault(),
                PROMEDIO      = vlist.Average(s => s.PORCENTAJE),
                FG_SUPERA_130 = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? true : false,
                PROMEDIO_TXT  = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString() + "(*)" : Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString()
                                //NB_PUESTO = vlist.Select(s => s.NB_PUESTO).FirstOrDefault(), PROMEDIO = vlist.Average(s => s.PORCENTAJE)
            });

            for (int i = 0; i < vlstPromedios.Count; i++)
            {
                if (vlstPromedios[i].FG_SUPERA_130 == true)
                {
                    divMensajeMayor130.Visible = true;
                    i = vlstPromedios.Count;
                }
            }

            rgdPromedios.DataSource = vlstPromedios;
            rgdPromedios.DataBind();
            rgdPromedios.Rebind();
        }
Example #6
0
        public List <E_PROMEDIO> getPromedios()
        {
            vListaPuestos = new List <int>();

            if (vIdPuestoCandidato == null)
            {
                if (vIdCandidatoVsPuesto != Guid.Empty)
                {
                    E_CANDIDATO_VS_PUESTOS oCandidatoPuestos = ContextoConsultasComparativas.oCandidatoVsPuestos.Where(w => w.vIdCandidatoVsPuestos == vIdCandidatoVsPuesto).FirstOrDefault();
                    vListaPuestos = oCandidatoPuestos.vListaPuestos;
                }
            }
            else
            {
                vListaPuestos = new List <int>()
                {
                    (int)vIdPuestoCandidato
                };
            }

            var vXelements = vListaPuestos.Select(x =>
                                                  new XElement("PUESTO",
                                                               new XAttribute("ID_PUESTO", x)
                                                               ));
            XElement SELECCIONADOS =
                new XElement("PUESTOS", vXelements
                             );

            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            vCandidatoPuestos = nComparativas.ObtieneCandidatoPuestos(pID_CANDIDATO: vIdCandidato, pXML_PUESTOS: SELECCIONADOS.ToString(), vFgConsultaParcial: vFgConsultaParcial, vFgCalificacionCero: vFgEvaluacionesCero).Select(s => new E_GRAFICA_PUESTO_CANDIDATOS
            {
                CL_COMPETENCIA      = s.CL_COMPETENCIA,
                NB_COMPETENCIA      = s.NB_COMPETENCIA,
                NO_VALOR_NIVEL      = s.NO_VALOR_NIVEL,
                NB_CANDIDATO        = s.NB_CANDIDATO,
                NO_VALOR_CANDIDATO  = s.NO_VALOR_CANDIDATO,
                PR_CANDIDATO_PUESTO = s.PR_CANDIDATO_PUESTO,
                DS_COMPETENCIA      = s.DS_COMPETENCIA,
                ID_BATERIA          = s.ID_BATERIA,
                NB_PUESTO           = s.NB_PUESTO,
                CL_PUESTO           = s.CL_PUESTO,
                CL_COLOR            = s.CL_COLOR,
                ID_PUESTO           = s.ID_PUESTO,
                PR_TRUNCADO         = CalculaPorcentaje(s.PR_CANDIDATO_PUESTO)
            }).OrderBy(s => s.CL_COMPETENCIA).ToList();


            List <E_PROMEDIO> vlstPromedios = new List <E_PROMEDIO>();

            foreach (var item in vListaPuestos)
            {
                List <E_PROMEDIO> vlist = new List <E_PROMEDIO>();
                foreach (var i in vCandidatoPuestos)
                {
                    if (item == i.ID_PUESTO && i.NO_VALOR_NIVEL != 0)
                    {
                        vlist.Add(new E_PROMEDIO {
                            NB_PUESTO = i.NB_PUESTO, PORCENTAJE = i.PR_TRUNCADO
                        });
                    }
                }
                vlstPromedios.Add(new E_PROMEDIO {
                    NB_PUESTO = vlist.Select(s => s.NB_PUESTO).FirstOrDefault(), PROMEDIO = vlist.Average(s => s.PORCENTAJE)
                });
            }

            return(vlstPromedios);
        }
Example #7
0
        protected void CargarCandidatoPuestos()
        {
            vListaPuestos = new List <int>();

            if (vIdPuestoCandidato == null)
            {
                if (vIdCandidatoVsPuesto != Guid.Empty)
                {
                    E_CANDIDATO_VS_PUESTOS oCandidatoPuestos = ContextoConsultasComparativas.oCandidatoVsPuestos.Where(w => w.vIdCandidatoVsPuestos == vIdCandidatoVsPuesto).FirstOrDefault();
                    vListaPuestos = oCandidatoPuestos.vListaPuestos;
                }
            }
            else
            {
                vListaPuestos = new List <int>()
                {
                    (int)vIdPuestoCandidato
                };
            }

            var vXelements = vListaPuestos.Select(x =>
                                                  new XElement("PUESTO",
                                                               new XAttribute("ID_PUESTO", x)
                                                               ));
            XElement SELECCIONADOS =
                new XElement("PUESTOS", vXelements
                             );

            ConsultasComparativasNegocio nComparativas = new ConsultasComparativasNegocio();

            vCandidatoPuestos = nComparativas.ObtieneCandidatoPuestos(pID_CANDIDATO: vIdCandidato, pXML_PUESTOS: SELECCIONADOS.ToString(), vFgConsultaParcial: vFgConsultaParcial, vFgCalificacionCero: vFgEvaluacionesCero).Select(s => new E_GRAFICA_PUESTO_CANDIDATOS
            {
                CL_COMPETENCIA      = s.CL_COMPETENCIA,
                NB_COMPETENCIA      = s.NB_COMPETENCIA,
                NO_VALOR_NIVEL      = s.NO_VALOR_NIVEL,
                NB_CANDIDATO        = s.NB_CANDIDATO,
                NO_VALOR_CANDIDATO  = s.NO_VALOR_CANDIDATO,
                PR_CANDIDATO_PUESTO = s.PR_CANDIDATO_PUESTO,
                DS_COMPETENCIA      = s.DS_COMPETENCIA,
                ID_BATERIA          = s.ID_BATERIA,
                NB_PUESTO           = s.NB_PUESTO,
                CL_PUESTO           = s.CL_PUESTO,
                CL_COLOR            = s.CL_COLOR,
                ID_PUESTO           = s.ID_PUESTO,
                PR_TRUNCADO         = CalculaPorcentaje(s.PR_CANDIDATO_PUESTO),
                CL_SOLICITUD        = s.CL_SOLICITUD
            }).OrderBy(s => s.CL_COMPETENCIA).ToList();

            if (vCandidatoPuestos.Count > 0)
            {
                vs_NB_CANDIDATO = vCandidatoPuestos.FirstOrDefault().NB_CANDIDATO;
            }

            GraficaCandidatoPuestos(vCandidatoPuestos);
            //txtPromedio.Enabled = false;
            //var promedio = vCandidatoPuestos.Average(s => s.PR_TRUNCADO);
            ////if (Convert.ToDouble(promedio) <= 100 && Convert.ToDouble(promedio) >= 0)
            //    txtPromedio.Value = Convert.ToDouble(promedio);
            //else if (Convert.ToDouble(promedio) > 100)
            //    txtPromedio.Value = 100;
            //else if (Convert.ToDouble(promedio) < 0)
            //    txtPromedio.Value = 0;

            List <E_PROMEDIO> vlstPromedios = new List <E_PROMEDIO>();

            foreach (var item in vListaPuestos)
            {
                List <E_PROMEDIO> vlist = new List <E_PROMEDIO>();
                foreach (var i in vCandidatoPuestos)
                {
                    if (item == i.ID_PUESTO && i.NO_VALOR_NIVEL != 0)
                    {
                        vlist.Add(new E_PROMEDIO {
                            NB_PUESTO = i.NB_PUESTO, PORCENTAJE = i.PR_TRUNCADO, PORCENTAJE_NO_TRUNCADO = i.PR_CANDIDATO_PUESTO
                        });
                    }
                }
                vlstPromedios.Add(new E_PROMEDIO
                {
                    NB_PUESTO                = vlist.Select(s => s.NB_PUESTO).FirstOrDefault(),
                    PROMEDIO                 = vlist.Average(s => s.PORCENTAJE),
                    FG_SUPERA_130            = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? true : false,
                    PROMEDIO_TXT             = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO) >= 130 ? Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString() + "(*)" : Decimal.Round(vlist.Average(s => s.PORCENTAJE) ?? 1, 2).ToString()
                    , PORCENTAJE_NO_TRUNCADO = vlist.Average(s => s.PORCENTAJE_NO_TRUNCADO)
                });
            }
            rgdPromedios.DataSource = vlstPromedios.Where(w => w.NB_PUESTO != null);
            rgdPromedios.DataBind();
            rgdPromedios.Rebind();

            for (int i = 0; i < vlstPromedios.Count; i++)
            {
                if (vlstPromedios[i].FG_SUPERA_130 == true)
                {
                    divMensajeMayor130.Visible = true;
                    i = vlstPromedios.Count;
                }
            }
        }