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; } } }
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); } }
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; // } //} }
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(); }
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); }
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; } } }