public DataTable ObtenerDatosReporteGeneralIndividual(int ID_PERIODO, int?ID_EVALUADO, ref List <E_REPORTE_GENERAL_INDIVIDUAL> vLstIndividual) { ConsultaIndividualOperaciones op = new ConsultaIndividualOperaciones(); List <SPE_OBTIENE_FYD_REPORTE_GENERAL_INDIVIDUAL_Result> vListaIndividual = new List <SPE_OBTIENE_FYD_REPORTE_GENERAL_INDIVIDUAL_Result>(); //string vDivsCeldasChk = "<div class=\"divCheckbox\"> <input type=\"checkbox\" runat=\"server\" class=\"{4}\" id=\"{2}\" value=\"{2}\" {3}> </div> <div class=\"divPorcentaje\">{0:N2}</div><div class=\"{1}\"> </div>"; string vNbPorcentaje = ""; string vDivsCeldasPo = "<table class=\"tablaColor\"> " + "<tr> " + "<td class=\"porcentaje\"> " + "<div class=\"divPorcentaje\">{0}</div> " + "</td> " + "<td class=\"color\"> " + "<div class=\"{1}\"> </div> " + "</td> </tr> </table>"; string vClaseDivs = ""; string vClaseColor = ""; DataTable vDtPivot = new DataTable(); vListaIndividual = op.ObtenerDatosReporteGeneralIndividual(ID_PERIODO, ID_EVALUADO, null); vLstIndividual = vListaIndividual.Select(s => new E_REPORTE_GENERAL_INDIVIDUAL { CL_COLOR = s.CL_COLOR, CL_COLOR_COMPATIBILIDAD = s.CL_COLOR_COMPATIBILIDAD, CL_EVALUADO = s.CL_EVALUADO, CL_PUESTO = s.CL_PUESTO, CL_TIPO_COMPETENCIA = s.CL_TIPO_COMPETENCIA, DS_COMPETENCIA = s.DS_COMPETENCIA, ID_COMPETENCIA = s.ID_COMPETENCIA, ID_EMPLEADO = s.ID_EMPLEADO, ID_EVALUADO = s.ID_EVALUADO, ID_PERIODO = s.ID_PERIODO, ID_PUESTO = s.ID_PUESTO, NB_COMPETENCIA = s.NB_COMPETENCIA, NB_EVALUADO = s.NB_EVALUADO, NB_PUESTO = s.NB_PUESTO, NO_TOTAL_TIPO_EVALUACION = s.NO_TOTAL_TIPO_EVALUACION, NO_ORDEN = s.NO_ORDEN }).ToList(); vDtPivot.Columns.Add("ID_COMPETENCIA", typeof(int)); vDtPivot.Columns.Add("CL_COLOR", typeof(string)); vDtPivot.Columns.Add("NB_COMPETENCIA", typeof(string)); vDtPivot.Columns.Add("DS_COMPETENCIA", typeof(string)); var vLstEmpleados = (from a in vListaIndividual select new { a.ID_PUESTO, a.NO_ORDEN }).Distinct().OrderBy(t => t.NO_ORDEN); var vLstCompetencias = (from a in vListaIndividual select new { a.ID_COMPETENCIA, a.CL_COLOR, a.NB_COMPETENCIA, a.DS_COMPETENCIA }).Distinct().OrderBy(t => t.ID_COMPETENCIA); foreach (var item in vLstEmpleados) { vDtPivot.Columns.Add(item.ID_PUESTO.ToString() + "E"); } foreach (var vCom in vLstCompetencias) { DataRow vDr = vDtPivot.NewRow(); vDr["ID_COMPETENCIA"] = vCom.ID_COMPETENCIA; vClaseColor = string.Format(vCom.CL_COLOR); vDr["CL_COLOR"] = "<div style=\"height: 80%; width: 20px;border-radius: 5px; background:" + vClaseColor + " ;\" ><br><br></div>"; vDr["NB_COMPETENCIA"] = vCom.NB_COMPETENCIA; vDr["DS_COMPETENCIA"] = vCom.DS_COMPETENCIA; foreach (var vEmp in vLstEmpleados) { var vResultado = vListaIndividual.Where(t => t.ID_COMPETENCIA == vCom.ID_COMPETENCIA & t.ID_PUESTO == vEmp.ID_PUESTO).FirstOrDefault(); if (vResultado != null) { switch (vResultado.CL_COLOR_COMPATIBILIDAD) { case "Green": vClaseDivs = "divVerde"; break; case "Gold": vClaseDivs = "divAmarillo"; break; case "Red": vClaseDivs = "divRojo"; break; } vNbPorcentaje = string.Format("{0:N2}", vResultado.NO_TOTAL_TIPO_EVALUACION) + "%"; vDr[vEmp.ID_PUESTO.ToString() + "E"] = String.Format(vDivsCeldasPo, vNbPorcentaje, vClaseDivs); } else { vDr[vEmp.ID_PUESTO.ToString() + "E"] = String.Format(vDivsCeldasPo, "NA", "divNa"); } } vDtPivot.Rows.Add(vDr); } return(vDtPivot); }
public List <SPE_OBTIENE_FYD_REPORTE_GENERAL_INDIVIDUAL_Result> ObtenerReporteIndividualGeneral(int ID_PERIODO, int?ID_EVALUADO, int?ID_EMPLEADO) { ConsultaIndividualOperaciones op = new ConsultaIndividualOperaciones(); return(op.ObtenerDatosReporteGeneralIndividual(ID_PERIODO, ID_EVALUADO, ID_EMPLEADO)); }