private void CargarPeriodo() { ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); SPE_OBTIENE_FYD_PERIODO_EVALUACION_Result oPeriodo = neg.ObtenerPeriodoEvaluacion(vIdPeriodo); string vTiposEvaluacion = ""; if (oPeriodo != null) { // txtPeriodo.InnerText = oPeriodo.NB_PERIODO; txtClave.InnerText = oPeriodo.CL_PERIODO; txtDescripcion.InnerText = oPeriodo.DS_PERIODO; if (oPeriodo.DS_NOTAS != null) { XElement vNotas = XElement.Parse(oPeriodo.DS_NOTAS); if (vNotas != null) { txtDsNotas.InnerHtml = validarDsNotas(oPeriodo.DS_NOTAS); } } if (oPeriodo.FG_AUTOEVALUACION) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Autoevaluación" : String.Join(", ", vTiposEvaluacion, "Autoevaluacion"); } if (oPeriodo.FG_SUPERVISOR) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Superior" : String.Join(", ", vTiposEvaluacion, "Superior"); } if (oPeriodo.FG_SUBORDINADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Subordinado" : String.Join(", ", vTiposEvaluacion, "Subordinado"); } if (oPeriodo.FG_INTERRELACIONADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Interrelacionado" : String.Join(", ", vTiposEvaluacion, "Interrelacionado"); } if (oPeriodo.FG_OTROS_EVALUADORES) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Otros" : String.Join(", ", vTiposEvaluacion, "Otros"); } txtTiposEvaluacion.InnerText = vTiposEvaluacion; //if (oPeriodo.CL_ESTADO_PERIODO.ToUpper() == "ABIERTO") //{ // lblAdvertencia.Visible = true; //} //else //{ // lblAdvertencia.Visible = false; //} } }
protected void AgregarSeleccionados_puestos(XElement pXmlElementos) { ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); List <SPE_OBTIENE_EMPLEADOS_PDE_Result> lista = neg.ObtenerEmpleados_PDE(pXmlElementos); foreach (SPE_OBTIENE_EMPLEADOS_PDE_Result item in lista) { var emp = ListaEmpleadosInf.Where(t => t.ID_PUESTO == item.M_PUESTO_ID_PUESTO_PDE).FirstOrDefault(); if (emp == null) { E_EMPLEADO_PDE e = new E_EMPLEADO_PDE { ID_EMPLEADO = item.M_EMPLEADO_ID_EMPLEADO_PDE, CL_EMPLEADO = item.M_EMPLEADO_CL_EMPLEADO, NB_EMPLEADO = item.M_EMPLEADO_NB_EMPLEADO_COMPLETO, ID_DEPARTAMENTO = item.M_DEPARTAMENTO_ID_DEPARTAMENTO_PDE, ID_PUESTO = item.M_PUESTO_ID_PUESTO_PDE, NB_PUESTO = item.M_PUESTO_NB_PUESTO, NB_DEPARTAMENTO = item.M_DEPARTAMENTO_NB_DEPARTAMENTO }; ListaEmpleadosInf.Add(e); } } RadGridSeleccion.Rebind(); }
public DataTable ConvertToDataTable <T>(IList <T> data, List <int> periodos) { ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); DataTable table = new DataTable(); foreach (PropertyDescriptor prop in properties) { table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); } foreach (int itemPeriodo in periodos) { table.Columns.Add(itemPeriodo.ToString()); } foreach (T item in data) { int vIdEmpelado = 0; DataRow row = table.NewRow(); foreach (PropertyDescriptor prop in properties) { if (prop.Name.Equals("ID_EMPLEADO")) { vIdEmpelado = int.Parse(prop.GetValue(item).ToString()); } row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; } table.Rows.Add(row); } return(table); }
private HtmlGenericControl GeneraHtml(int?pIdEmpleado) { HtmlGenericControl vCtrlTabla = new HtmlGenericControl("table"); if (pIdEmpleado != null && pIdEmpleado > 0) { string vDivsCeldasPo = "<table class=\"tablaColor\"> " + "<tr><td class=\"puesto\"> {0}</td> </tr>" + "<tr> " + "<td class=\"porcentaje\"> " + "<div class=\"divPorcentaje\">{1}</div> " + "</td> " + "<td class=\"color\"> " + "<div class=\"{2}\"> </div> " + "</td> </tr>" + "</table>"; List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosFoto = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); ConsultaIndividualNegocio neg = new ConsultaIndividualNegocio(); ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); vLstEvaluadosFoto = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, vFgFoto).ToList(); int?vMaxPuestos = 1; int vTotalPromedios = 1; vMaxPuestos = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).FirstOrDefault().NUM_PERIODOS; vTotalPromedios = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).Count; HtmlGenericControl vCtrlRow = new HtmlGenericControl("tr"); List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosReporte = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); vLstEvaluadosReporte = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).Where(w => w.ID_EMPLEADO == pIdEmpleado).ToList(); foreach (var itemResult in vLstEvaluadosReporte) { HtmlGenericControl vCtrlColumnaResultado = new HtmlGenericControl("td"); vCtrlColumnaResultado.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 11pt; width:100px; border-radius:2px"); HtmlGenericControl vCtrlDiv = new HtmlGenericControl("div"); vCtrlDiv.Attributes.Add("style", "padding: 10px"); vCtrlDiv.Attributes.Add("title", itemResult.NB_PUESTO); vCtrlDiv.InnerHtml = String.Format(vDivsCeldasPo, String.Format("<a href=\"javascript:OpenDescriptivo({0})\">{1}</a>", itemResult.ID_PUESTO_PERIODO, itemResult.CL_PUESTO), itemResult.PR_CUMPLIMIENTO + "%", GenerarColor(itemResult.CL_COLOR_CUMPLIMIENTO)); vCtrlColumnaResultado.Controls.Add(vCtrlDiv); vCtrlRow.Controls.Add(vCtrlColumnaResultado); } vCtrlTabla.Controls.Add(vCtrlRow); return(vCtrlTabla); } return(vCtrlTabla); }
private void CargarDatos() { if (ContextoReportes.oReporteGlobal != null) { vIdPeriodo = ContextoReportes.oReporteGlobal.Where(t => t.vIdReporteGlobal == vIdReporteGlobal).FirstOrDefault().vIdPeriodo; ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); int?vMaxPuestos = 1; vMaxPuestos = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).FirstOrDefault().NUM_PERIODOS; rdgGlobal.MasterTableView.Columns[4].HeaderStyle.Width = (Unit)(vMaxPuestos * 100); CargarPeriodo(); CrearXmlEmpleados(); } }
private string ObtenerFooter() { string vPrTotal = "0%"; List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosPromedio = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); vLstEvaluadosPromedio = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, vFgFoto).ToList(); if (vLstEvaluadosPromedio != null && vLstEvaluadosPromedio.Count > 0) { vPrTotal = String.Format("{0:0.00}%", vLstEvaluadosPromedio.Average(w => w.PR_CUMPLIMIENTO)); } return(vPrTotal); }
protected void Page_Init(object sender, System.EventArgs e) { vIdRol = ContextoUsuario.oUsuario.oRol.ID_ROL; if (Request.Params["FgFoto"] != null) { vFgFoto = bool.Parse(Request.Params["FgFoto"].ToString()); ConfigurarGrid(); } if (Request.Params["IdReporteComparativo"] != null) { vIdReporteComparativo = Guid.Parse(Request.Params["IdReporteComparativo"].ToString()); CargarDatos(); ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); List <SPE_OBTIENE_FYD_EVALUADOS_COMPARATIVO_Result> vLstEvaluadores = neg.ObtenerEvaluadosComparativo(vIdPeriodo, vXmlPeriodos, vFgFoto, vIdRol); rdComparativo.DataSource = CrearDataTable(vLstEvaluadores, rdComparativo); } }
protected DataTable CrearDataTable <T>(IList <T> pLista, RadGrid pCtrlGrid) { List <int> lista = ContextoReportes.oReporteComparativo.Where(t => t.vIdReporteComparativo == vIdReporteComparativo).FirstOrDefault().vListaPeriodos; List <int> listPeriodos = new List <int>(); listPeriodos = lista; bool exists = listPeriodos.Exists(element => element == vIdPeriodo); if (!exists) { listPeriodos.Add(vIdPeriodo); } DataTable vColumnas = ConvertToDataTable(pLista, listPeriodos); ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); int?vMaxPuestos = 1; foreach (int item in listPeriodos.OrderBy(o => o)) { var vDatosReporteGlobal = negGen.ObtenerDatosReporteGlobal(item, null, false).ToList(); if (vDatosReporteGlobal.Count > 0) { vMaxPuestos = vDatosReporteGlobal.FirstOrDefault().NUM_PERIODOS; } SPE_OBTIENE_FYD_PERIODO_EVALUACION_Result oPeriodos = negGen.ObtenerPeriodoEvaluacion(item); GridTemplateColumn vBoundColumn = new GridTemplateColumn(); vBoundColumn.DataField = oPeriodos.ID_PERIODO.ToString(); vBoundColumn.UniqueName = oPeriodos.ID_PERIODO.ToString(); vBoundColumn.HeaderText = oPeriodos.CL_PERIODO; vBoundColumn.HeaderStyle.Width = (Unit)(vMaxPuestos * 110); vBoundColumn.ColumnGroupName = "gcCalificacion"; vBoundColumn.ItemTemplate = new MyTemplate(oPeriodos.ID_PERIODO.ToString()); vBoundColumn.FooterStyle.HorizontalAlign = HorizontalAlign.Center; vBoundColumn.FooterStyle.Font.Bold = true; vBoundColumn.AllowFiltering = false; vBoundColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; rdComparativo.MasterTableView.Columns.Add(vBoundColumn); } return(vColumnas); }
//protected void rdComparativo_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) //{ // GridDataItem vDataItem = (GridDataItem)e.DetailTableView.ParentItem; // switch (e.DetailTableView.Name) // { // case "gtvComparativo": // int vIdPuestoEvaluadoPeriodo = int.Parse(vDataItem.GetDataKeyValue("ID_PUESTO").ToString()); // int vIdEmpleado; // decimal vPrCumplimiento = decimal.Parse(vDataItem.GetDataKeyValue("PR_CUMPLIMIENTO").ToString()); // ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); // vIdEmpleado = int.Parse(vDataItem.GetDataKeyValue("ID_EMPLEADO").ToString()); // //List<E_REPORTE_COMPARATIVO_DETALLE> oListaDetalleExterna = vListaDetalle.Select(t => new E_REPORTE_COMPARATIVO_DETALLE{ DS_PERIODO = t.DS_PERIODO, ID_PERIODO = t.ID_PERIODO, NB_PUESTO = t.NB_PUESTO, PR_CUMPLIMIENTO = t.PR_CUMPLIMIENTO, PR_CUMPLIMIENTO_COMPARACION = vPrCumplimiento}).ToList(); // e.DetailTableView.DataSource = neg.ObtenerDetalleReporteComparativo(vIdPeriodo, vIdPuestoEvaluadoPeriodo, vXmlPeriodos, vIdEmpleado, vPrCumplimiento); // break; // default: // break; // } //} protected void rdComparativo_ItemDataBound(object sender, GridItemEventArgs e) { List <int> lista = ContextoReportes.oReporteComparativo.Where(t => t.vIdReporteComparativo == vIdReporteComparativo).FirstOrDefault().vListaPeriodos; List <int> listPeriodos = new List <int>(); listPeriodos = lista; List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosReporte = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; int vIdEmpleado = int.Parse(item.GetDataKeyValue("ID_EMPLEADO").ToString()); foreach (int oPeriodo in listPeriodos) { HtmlGenericControl vCtrlDiv = (HtmlGenericControl)item.FindControl(oPeriodo.ToString()); if (vCtrlDiv != null) { vCtrlDiv.Controls.Add(GeneraTablaHtml(oPeriodo, vIdEmpleado)); } } } if (e.Item is GridFooterItem) { GridFooterItem footer = (GridFooterItem)e.Item; foreach (int oPeriodo in listPeriodos) { var vPeriodoo = negGen.ObtenerPeriodoEvaluacion(vIdPeriodo); vLstEvaluadosReporte = negGen.ObtenerDatosReporteGlobal(oPeriodo, null, false).ToList(); if (vLstEvaluadosReporte != null && vLstEvaluadosReporte.Count > 0) { footer[oPeriodo.ToString()].Text = String.Format("{0:0.00}%", vLstEvaluadosReporte.Average(a => a.PR_CUMPLIMIENTO)); } else { footer[oPeriodo.ToString()].Text = "0.00%"; } } } }
protected void AgregarSeleccionados(XElement pXmlElementos) { ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); List <SPE_OBTIENE_EMPLEADOS_PDE_Result> lista = neg.ObtenerEmpleados_PDE(pXmlElementos); foreach (SPE_OBTIENE_EMPLEADOS_PDE_Result item in lista) { E_EMPLEADO_PDE emp; if (vUsuarioSeleccion == "") { emp = ListaEmpleados.Where(t => t.ID_EMPLEADO == item.M_EMPLEADO_ID_EMPLEADO_PDE).FirstOrDefault(); } else { emp = ListaEmpleados.Where(t => t.CL_EMPLEADO == item.M_EMPLEADO_CL_EMPLEADO).FirstOrDefault(); } if (emp == null) { E_EMPLEADO_PDE e = new E_EMPLEADO_PDE { ID_EMPLEADO = item.M_EMPLEADO_ID_EMPLEADO_PDE, CL_EMPLEADO = item.M_EMPLEADO_CL_EMPLEADO, NB_EMPLEADO = item.M_EMPLEADO_NB_EMPLEADO_COMPLETO, ID_DEPARTAMENTO = item.M_DEPARTAMENTO_ID_DEPARTAMENTO_PDE, ID_PUESTO = item.M_PUESTO_ID_PUESTO_PDE, NB_PUESTO = item.M_PUESTO_NB_PUESTO, NB_DEPARTAMENTO = item.M_DEPARTAMENTO_NB_DEPARTAMENTO, M_CL_USUARIO = (item.M_CL_USUARIO == null ? null : item.M_CL_USUARIO) }; ListaEmpleados.Add(e); } } grdEmpleadosSeleccionados.Rebind(); }
private void CargarPeriodo() { ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); SPE_OBTIENE_FYD_PERIODO_EVALUACION_Result oPeriodo = neg.ObtenerPeriodoEvaluacion(vIdPeriodo); string vTiposEvaluacion = ""; if (oPeriodo != null) { //txtPeriodo.InnerText = oPeriodo.DS_PERIODO; //txtClavePeriodo.InnerText = oPeriodo.CL_PERIODO; txtClPeriodo.InnerText = oPeriodo.NB_PERIODO; txtDsPeriodo.InnerText = oPeriodo.DS_PERIODO; txtEstatus.InnerText = oPeriodo.CL_ESTADO_PERIODO; if (oPeriodo.FG_AUTOEVALUACION) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Autoevaluación" : String.Join(", ", vTiposEvaluacion, "Autoevaluacion"); } if (oPeriodo.FG_SUPERVISOR) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Superior" : String.Join(", ", vTiposEvaluacion, "Superior"); } if (oPeriodo.FG_SUBORDINADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Subordinado" : String.Join(", ", vTiposEvaluacion, "Subordinado"); } if (oPeriodo.FG_INTERRELACIONADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Interrelacionado" : String.Join(", ", vTiposEvaluacion, "Interrelacionado"); } if (oPeriodo.FG_OTROS_EVALUADORES) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Otros" : String.Join(", ", vTiposEvaluacion, "Otros"); } txtTipoEvaluacion.InnerText = vTiposEvaluacion; if (oPeriodo.DS_NOTAS != null) { if (oPeriodo.DS_NOTAS.Contains("DS_NOTA")) { txtNotas.InnerHtml = Utileria.MostrarNotas(oPeriodo.DS_NOTAS); } else { XElement vNotas = XElement.Parse(oPeriodo.DS_NOTAS); if (vNotas != null) { vNotas.Name = vNbFirstRadEditorTagName; txtNotas.InnerHtml = vNotas.ToString(); } } } ConsultaGeneralNegocio nConsulta = new ConsultaGeneralNegocio(); vIdEmpresa = ContextoUsuario.oUsuario.ID_EMPRESA; vIdRol = ContextoUsuario.oUsuario.oRol.ID_ROL; vLstEvaluados = nConsulta.ObtieneEvaluados(vIdPeriodo, vIdEmpresa, vIdRol); GuardarEvaluados(); oLstPeriodos.Add(new E_PERIODO_EVALUACION { ID_PERIODO = oPeriodo.ID_PERIODO, CL_PERIODO = oPeriodo.CL_PERIODO, NB_PERIODO = oPeriodo.NB_PERIODO, DS_PERIODO = oPeriodo.DS_PERIODO }); } //oListaPeriodosFuente = neg.ObtenerPeriodosEvaluacion(); //oListaPeriodosDestino = new List<E_PERIODO_EVALUACION>(); //rlbPeriodosDisponibles.DataSource = oListaPeriodosFuente; //rlbPeriodosComparar.DataSource = oListaPeriodosDestino; //rlbPeriodosComparar.DataBind(); //rlbPeriodosDisponibles.DataBind(); }
private HtmlGenericControl GenerarReporteGlobal() { decimal vPrGlobal = 1; string vDivsCeldasPo = "<table class=\"tablaColor\"> " + "<tr><td class=\"puesto\"> {0}</td> </tr>" + "<tr> " + "<td class=\"porcentaje\"> " + "<div class=\"divPorcentaje\">{1}</div> " + "</td> " + "<td class=\"color\"> " + "<div class=\"{2}\"> </div> " + "</td> </tr>" + "</table>"; List <SPE_OBTIENE_FYD_EVALUADOS_CONFIGURACION_Result> vLstEvaluados = new List <SPE_OBTIENE_FYD_EVALUADOS_CONFIGURACION_Result>(); List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosFoto = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); ConsultaIndividualNegocio neg = new ConsultaIndividualNegocio(); ConsultaGeneralNegocio negGen = new ConsultaGeneralNegocio(); vLstEvaluados = neg.ObtenerEvaluados(vIdPeriodo, vIdEmpresa); vLstEvaluadosFoto = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, vFgFoto).ToList(); int?vMaxPuestos = 1; int vTotalPromedios = 1; if (vLstEvaluados.Count > 0) { vMaxPuestos = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).FirstOrDefault().NUM_PERIODOS; vTotalPromedios = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).Count; } HtmlGenericControl vCtrlTabla = new HtmlGenericControl("table"); HtmlGenericControl vCtrlColumn = new HtmlGenericControl("tr"); vCtrlColumn.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt;"); if (vFgFoto == true) { HtmlGenericControl vCtrlThFoto = new HtmlGenericControl("th"); vCtrlThFoto.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:80px; background-color:#F5F5F5; height: 50px; padding: 3px; border-top-left-radius:4px"); vCtrlThFoto.InnerText = String.Format("{0}", "Fotografía"); vCtrlColumn.Controls.Add(vCtrlThFoto); } HtmlGenericControl vCtrlTh = new HtmlGenericControl("th"); vCtrlTh.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:100px; background-color:#F5F5F5; height: 50px; padding: 3px; border-top-left-radius:4px"); vCtrlTh.InnerText = String.Format("{0}", "No. de empleado"); vCtrlColumn.Controls.Add(vCtrlTh); HtmlGenericControl vCtrlTh2 = new HtmlGenericControl("th"); vCtrlTh2.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:300px; background-color:#F5F5F5; height: 50px; padding: 3px;"); vCtrlTh2.InnerText = String.Format("{0}", "Nombre completo"); vCtrlColumn.Controls.Add(vCtrlTh2); HtmlGenericControl vCtrlTh3 = new HtmlGenericControl("th"); vCtrlTh3.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:300px; background-color:#F5F5F5; height: 50px; padding: 3px; "); vCtrlTh3.InnerText = String.Format("{0}", "Puesto"); vCtrlColumn.Controls.Add(vCtrlTh3); HtmlGenericControl vCtrlTh4 = new HtmlGenericControl("th"); vCtrlTh4.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; text-align:center; background-color:#F5F5F5; height: 50px; border-top-right-radius:4px"); vCtrlTh4.Attributes.Add("colspan", vMaxPuestos.ToString()); vCtrlTh4.InnerText = String.Format("{0}", "Calificación"); vCtrlColumn.Controls.Add(vCtrlTh4); vCtrlTabla.Controls.Add(vCtrlColumn); foreach (var item in vLstEvaluados) { HtmlGenericControl vCtrlRow = new HtmlGenericControl("tr"); if (vFgFoto == true) { HtmlGenericControl vCtrlColumnaFoto = new HtmlGenericControl("td"); vCtrlColumnaFoto.Attributes.Add("style", "border: 1px solid gray; border-radius:2px"); HtmlGenericControl vCtrlDiv = new HtmlGenericControl("div"); vCtrlDiv.Attributes.Add("style", "padding: 2px 2px 2px 2px;"); var vResultado = vLstEvaluadosFoto.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.FI_FOTOGRAFIA != null).FirstOrDefault(); if (vResultado != null) { vCtrlDiv.InnerHtml = String.Format("{0}", "<img id=\"profileImage\" height=\"110\" width=\"80\" src=\"data:image/jpg;base64, " + Convert.ToBase64String(vResultado.FI_FOTOGRAFIA) + "\">"); } else { vCtrlDiv.InnerHtml = String.Format("{0}", "<img id=\"profileImage\" height=\"110\" width=\"80\" border=\"5\">"); } vCtrlColumnaFoto.Controls.Add(vCtrlDiv); vCtrlRow.Controls.Add(vCtrlColumnaFoto); } HtmlGenericControl vCtrlColumnaClEval = new HtmlGenericControl("td"); vCtrlColumnaClEval.Attributes.Add("title", "Empleado: " + item.NB_EMPLEADO_COMPLETO); vCtrlColumnaClEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; text-align:center; padding: 3px; border-radius:2px"); vCtrlColumnaClEval.InnerText = String.Format("{0}", item.CL_EMPLEADO); vCtrlRow.Controls.Add(vCtrlColumnaClEval); HtmlGenericControl vCtrlColumnaNbEval = new HtmlGenericControl("td"); vCtrlColumnaNbEval.Attributes.Add("title", "Clave del empleado: " + item.CL_EMPLEADO); vCtrlColumnaNbEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; padding: 3px; border-radius:2px"); vCtrlColumnaNbEval.InnerHtml = String.Format("{0}", item.NB_EMPLEADO_COMPLETO); vCtrlRow.Controls.Add(vCtrlColumnaNbEval); HtmlGenericControl vCtrlColumnaPuestoEval = new HtmlGenericControl("td"); vCtrlColumnaPuestoEval.Attributes.Add("title", "Clave del puesto: " + item.CL_PUESTO); vCtrlColumnaPuestoEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; padding: 3px; border-radius:2px"); vCtrlColumnaPuestoEval.InnerText = String.Format("{0}", item.NB_PUESTO); vCtrlRow.Controls.Add(vCtrlColumnaPuestoEval); List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosReporte = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); vLstEvaluadosReporte = negGen.ObtenerDatosReporteGlobal(vIdPeriodo, vXmlEmpleados, false).Where(w => w.ID_EMPLEADO == item.ID_EMPLEADO).ToList(); foreach (var itemResult in vLstEvaluadosReporte) { HtmlGenericControl vCtrlColumnaResultado = new HtmlGenericControl("td"); vCtrlColumnaResultado.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:100px; border-radius:2px"); HtmlGenericControl vCtrlDiv = new HtmlGenericControl("div"); vCtrlDiv.Attributes.Add("style", "padding: 10px"); vCtrlDiv.Attributes.Add("title", itemResult.NB_PUESTO); vCtrlDiv.InnerHtml = String.Format(vDivsCeldasPo, itemResult.CL_PUESTO, itemResult.PR_CUMPLIMIENTO + "%", GenerarColor(itemResult.CL_COLOR_CUMPLIMIENTO)); vCtrlColumnaResultado.Controls.Add(vCtrlDiv); vCtrlRow.Controls.Add(vCtrlColumnaResultado); vPrGlobal = vPrGlobal + itemResult.PR_CUMPLIMIENTO; } vCtrlTabla.Controls.Add(vCtrlRow); } HtmlGenericControl vCtrlRowFooter = new HtmlGenericControl("tr"); HtmlGenericControl vCtrlFooterTol = new HtmlGenericControl("td"); vCtrlFooterTol.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; font-weight:bold; text-align: right; background-color:#F5F5F5; height: 30px; border-bottom-left-radius:4px"); if (vFgFoto) { vCtrlFooterTol.Attributes.Add("colspan", "4"); } else { vCtrlFooterTol.Attributes.Add("colspan", "3"); } vCtrlFooterTol.InnerText = String.Format("{0}", "Total:"); vCtrlRowFooter.Controls.Add(vCtrlFooterTol); HtmlGenericControl vCtrlFooterPr = new HtmlGenericControl("td"); vCtrlFooterPr.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; font-weight:bold; text-align: center; border-top: 1.1px solid gray; background-color:" + ObtieneColorPromedio((vPrGlobal / vTotalPromedios)) + "; height: 30px; border-bottom-right-radius:4px"); vCtrlFooterPr.Attributes.Add("colspan", vMaxPuestos.ToString()); if (vLstEvaluados.Count > 0) { vCtrlFooterPr.InnerText = String.Format("{0:0.00}%", vPrGlobal / vTotalPromedios); } else { vCtrlFooterPr.InnerText = String.Format("{0}%", 0); } vCtrlRowFooter.Controls.Add(vCtrlFooterPr); vCtrlTabla.Controls.Add(vCtrlRowFooter); return(vCtrlTabla); }
public void GeneraContexto(List <int> pListaPeriodos) { string vTiposEvaluacion = ""; HtmlGenericControl vCtrlTabla = new HtmlGenericControl("table"); vCtrlTabla.Attributes.Add("style", "border: 1px solid gray;"); HtmlGenericControl vCtrlColumn = new HtmlGenericControl("tr"); HtmlGenericControl vCtrlTh = new HtmlGenericControl("th"); vCtrlTh.Attributes.Add("style", "border: 1px solid gray;"); vCtrlTh.InnerText = String.Format("{0}", "Periodo"); vCtrlColumn.Controls.Add(vCtrlTh); HtmlGenericControl vCtrlTh2 = new HtmlGenericControl("th"); vCtrlTh2.Attributes.Add("style", "border: 1px solid gray;"); vCtrlTh2.InnerText = String.Format("{0}", "Descripción"); vCtrlColumn.Controls.Add(vCtrlTh2); HtmlGenericControl vCtrlTh3 = new HtmlGenericControl("th"); vCtrlTh3.Attributes.Add("style", "border: 1px solid gray;"); vCtrlTh3.InnerText = String.Format("{0}", "Tipo de evaluación"); vCtrlColumn.Controls.Add(vCtrlTh3); vCtrlTabla.Controls.Add(vCtrlColumn); ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); bool exists = pListaPeriodos.Exists(element => element == vIdPeriodo); if (!exists) { var oPeriodoOriginal = neg.ObtenerPeriodoEvaluacion(vIdPeriodo); HtmlGenericControl vCtrlColumnO = new HtmlGenericControl("tr"); HtmlGenericControl vCtrlColumnaClPeriodoO = new HtmlGenericControl("td"); vCtrlColumnaClPeriodoO.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaClPeriodoO.InnerText = String.Format("{0}", oPeriodoOriginal.CL_PERIODO); vCtrlColumnO.Controls.Add(vCtrlColumnaClPeriodoO); HtmlGenericControl vCtrlColumnaNbPeriodoO = new HtmlGenericControl("td"); vCtrlColumnaNbPeriodoO.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaNbPeriodoO.InnerHtml = String.Format("{0}", oPeriodoOriginal.DS_PERIODO); vCtrlColumnO.Controls.Add(vCtrlColumnaNbPeriodoO); if (oPeriodoOriginal.FG_AUTOEVALUACION) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Autoevaluación" : String.Join(", ", vTiposEvaluacion, "Autoevaluacion"); } if (oPeriodoOriginal.FG_SUPERVISOR) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Superior" : String.Join(", ", vTiposEvaluacion, "Superior"); } if (oPeriodoOriginal.FG_SUBORDINADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Subordinado" : String.Join(", ", vTiposEvaluacion, "Subordinado"); } if (oPeriodoOriginal.FG_INTERRELACIONADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Interrelacionado" : String.Join(", ", vTiposEvaluacion, "Interrelacionado"); } if (oPeriodoOriginal.FG_OTROS_EVALUADORES) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Otros" : String.Join(", ", vTiposEvaluacion, "Otros"); } HtmlGenericControl vCtrlColumnaTipoPeriodoO = new HtmlGenericControl("td"); vCtrlColumnaTipoPeriodoO.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaTipoPeriodoO.InnerText = String.Format("{0}", vTiposEvaluacion); vCtrlColumnO.Controls.Add(vCtrlColumnaTipoPeriodoO); vCtrlTabla.Controls.Add(vCtrlColumnO); } foreach (int item in pListaPeriodos) { HtmlGenericControl vCtrlRow = new HtmlGenericControl("tr"); var oPeriodo = neg.ObtenerPeriodoEvaluacion(item); vTiposEvaluacion = ""; if (oPeriodo != null) { HtmlGenericControl vCtrlColumnaClPeriodo = new HtmlGenericControl("td"); vCtrlColumnaClPeriodo.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaClPeriodo.InnerText = String.Format("{0}", oPeriodo.CL_PERIODO); vCtrlRow.Controls.Add(vCtrlColumnaClPeriodo); HtmlGenericControl vCtrlColumnaNbPeriodo = new HtmlGenericControl("td"); vCtrlColumnaNbPeriodo.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaNbPeriodo.InnerHtml = String.Format("{0}", oPeriodo.DS_PERIODO); vCtrlRow.Controls.Add(vCtrlColumnaNbPeriodo); if (oPeriodo.FG_AUTOEVALUACION) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Autoevaluación" : String.Join(", ", vTiposEvaluacion, "Autoevaluacion"); } if (oPeriodo.FG_SUPERVISOR) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Superior" : String.Join(", ", vTiposEvaluacion, "Superior"); } if (oPeriodo.FG_SUBORDINADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Subordinado" : String.Join(", ", vTiposEvaluacion, "Subordinado"); } if (oPeriodo.FG_INTERRELACIONADOS) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Interrelacionado" : String.Join(", ", vTiposEvaluacion, "Interrelacionado"); } if (oPeriodo.FG_OTROS_EVALUADORES) { vTiposEvaluacion = string.IsNullOrEmpty(vTiposEvaluacion) ? "Otros" : String.Join(", ", vTiposEvaluacion, "Otros"); } HtmlGenericControl vCtrlColumnaTipoPeriodo = new HtmlGenericControl("td"); vCtrlColumnaTipoPeriodo.Attributes.Add("style", "border: 1px solid gray;"); vCtrlColumnaTipoPeriodo.InnerText = String.Format("{0}", vTiposEvaluacion); vCtrlRow.Controls.Add(vCtrlColumnaTipoPeriodo); vCtrlTabla.Controls.Add(vCtrlRow); dvContexto.Controls.Add(vCtrlTabla); if (oPeriodo.CL_ESTADO_PERIODO == "ABIERTO") { lblAdvertencia.Visible = true; } } } }
public HtmlGenericControl GenerarReporteComparativo() { string vDivsCeldasPo = "<table class=\"tablaColor\"> " + "<tr><td class=\"puesto\"> {0}</td> </tr>" + "<tr> " + "<td class=\"porcentaje\"> " + "<div class=\"divPorcentaje\">{1}</div> " + "</td> " + "<td class=\"color\"> " + "<div class=\"{2}\"> </div> " + "</td> </tr>" + "</table>"; ConsultaGeneralNegocio neg = new ConsultaGeneralNegocio(); List <SPE_OBTIENE_FYD_EVALUADOS_COMPARATIVO_Result> vLstEvaluadores = neg.ObtenerEvaluadosComparativo(vIdPeriodo, vXmlPeriodos, vFgFoto, vIdRol); List <int> lista = ContextoReportes.oReporteComparativo.Where(t => t.vIdReporteComparativo == vIdReporteComparativo).FirstOrDefault().vListaPeriodos; bool exists = lista.Exists(element => element == vIdPeriodo); int? vMaxPuestosPeriodo = 1; if (!exists) { lista.Add(vIdPeriodo); } decimal?vPrGlobal = 0; int vTotalPromedios = 1; decimal?vPromedioPeriodo = 0; HtmlGenericControl vCtrlTabla = new HtmlGenericControl("table"); HtmlGenericControl vCtrlColumn = new HtmlGenericControl("tr"); vCtrlColumn.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt;"); if (vFgFoto == true) { HtmlGenericControl vCtrlThFoto = new HtmlGenericControl("th"); vCtrlThFoto.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:80px; background-color:#F5F5F5; height: 50px; padding: 3px; border-top-left-radius:4px"); vCtrlThFoto.InnerText = String.Format("{0}", "Fotografía"); vCtrlColumn.Controls.Add(vCtrlThFoto); } HtmlGenericControl vCtrlTh = new HtmlGenericControl("th"); vCtrlTh.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:100px; background-color:#F5F5F5; height: 50px; padding: 3px; border-top-left-radius:4px"); vCtrlTh.InnerText = String.Format("{0}", "No. de empleado"); vCtrlColumn.Controls.Add(vCtrlTh); HtmlGenericControl vCtrlTh2 = new HtmlGenericControl("th"); vCtrlTh2.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:300px; background-color:#F5F5F5; height: 50px; padding: 3px;"); vCtrlTh2.InnerText = String.Format("{0}", "Nombre completo"); vCtrlColumn.Controls.Add(vCtrlTh2); HtmlGenericControl vCtrlTh3 = new HtmlGenericControl("th"); vCtrlTh3.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:300px; background-color:#F5F5F5; height: 50px; padding: 3px; "); vCtrlTh3.InnerText = String.Format("{0}", "Puesto"); vCtrlColumn.Controls.Add(vCtrlTh3); foreach (int item in lista) { vMaxPuestosPeriodo = neg.ObtenerDatosReporteGlobal(item, null, false).FirstOrDefault().NUM_PERIODOS; var oPeriodo = neg.ObtenerPeriodoEvaluacion(item); HtmlGenericControl vCtrlTh4 = new HtmlGenericControl("th"); vCtrlTh4.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; text-align:center; background-color:#F5F5F5; height: 50px; border-top-right-radius:4px"); vCtrlTh4.Attributes.Add("colspan", vMaxPuestosPeriodo.ToString()); vCtrlTh4.InnerText = String.Format("{0}", oPeriodo.CL_PERIODO); vCtrlColumn.Controls.Add(vCtrlTh4); } vCtrlTabla.Controls.Add(vCtrlColumn); foreach (var item in vLstEvaluadores) { HtmlGenericControl vCtrlRow = new HtmlGenericControl("tr"); if (vFgFoto == true) { HtmlGenericControl vCtrlColumnaFoto = new HtmlGenericControl("td"); vCtrlColumnaFoto.Attributes.Add("style", "border: 1px solid gray; border-radius:2px"); HtmlGenericControl vCtrlDiv = new HtmlGenericControl("div"); vCtrlDiv.Attributes.Add("style", "padding: 2px 2px 2px 2px;"); var vResultado = vLstEvaluadores.Where(t => t.ID_EMPLEADO == item.ID_EMPLEADO && t.FI_ARCHIVO != null).FirstOrDefault(); if (vResultado != null) { vCtrlDiv.InnerHtml = String.Format("{0}", "<img id=\"profileImage\" height=\"110\" width=\"80\" src=\"data:image/jpg;base64, " + Convert.ToBase64String(vResultado.FI_ARCHIVO) + "\">"); } else { vCtrlDiv.InnerHtml = String.Format("{0}", "<img id=\"profileImage\" height=\"110\" width=\"80\" border=\"5\">"); } vCtrlColumnaFoto.Controls.Add(vCtrlDiv); vCtrlRow.Controls.Add(vCtrlColumnaFoto); } HtmlGenericControl vCtrlColumnaClEval = new HtmlGenericControl("td"); vCtrlColumnaClEval.Attributes.Add("title", "Empleado: " + item.NB_EVALUADO); vCtrlColumnaClEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; text-align:center; padding: 3px; border-radius:2px"); vCtrlColumnaClEval.InnerText = String.Format("{0}", item.CL_EVALUADO); vCtrlRow.Controls.Add(vCtrlColumnaClEval); HtmlGenericControl vCtrlColumnaNbEval = new HtmlGenericControl("td"); vCtrlColumnaNbEval.Attributes.Add("title", "Clave del empleado: " + item.CL_EVALUADO); vCtrlColumnaNbEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; padding: 3px; border-radius:2px"); vCtrlColumnaNbEval.InnerHtml = String.Format("{0}", item.NB_EVALUADO); vCtrlRow.Controls.Add(vCtrlColumnaNbEval); HtmlGenericControl vCtrlColumnaPuestoEval = new HtmlGenericControl("td"); vCtrlColumnaPuestoEval.Attributes.Add("title", "Clave del puesto: " + item.CL_PUESTO); vCtrlColumnaPuestoEval.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; padding: 3px; border-radius:2px"); vCtrlColumnaPuestoEval.InnerText = String.Format("{0}", item.NB_PUESTO); vCtrlRow.Controls.Add(vCtrlColumnaPuestoEval); foreach (int idPeriodo in lista) { List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result> vLstEvaluadosReporte = new List <SPE_OBTIENE_FYD_REPORTE_GLOBAL_Result>(); vLstEvaluadosReporte = neg.ObtenerDatosReporteGlobal(idPeriodo, null, false).Where(w => w.ID_EMPLEADO == item.ID_EMPLEADO).ToList(); foreach (var itemResult in vLstEvaluadosReporte) { HtmlGenericControl vCtrlColumnaResultado = new HtmlGenericControl("td"); vCtrlColumnaResultado.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:100px; border-radius:2px"); HtmlGenericControl vCtrlDiv = new HtmlGenericControl("div"); vCtrlDiv.Attributes.Add("style", "padding: 10px"); vCtrlDiv.Attributes.Add("title", itemResult.NB_PUESTO); vCtrlDiv.InnerHtml = String.Format(vDivsCeldasPo, itemResult.CL_PUESTO, itemResult.PR_CUMPLIMIENTO + "%", GenerarColor(itemResult.CL_COLOR_CUMPLIMIENTO)); vCtrlColumnaResultado.Controls.Add(vCtrlDiv); vCtrlRow.Controls.Add(vCtrlColumnaResultado); } if (vLstEvaluadosReporte == null || vLstEvaluadosReporte.Count < 1) { vMaxPuestosPeriodo = neg.ObtenerDatosReporteGlobal(idPeriodo, null, false).FirstOrDefault().NUM_PERIODOS; HtmlGenericControl vCtrlColumnaResultado = new HtmlGenericControl("td"); vCtrlColumnaResultado.Attributes.Add("colspan", vMaxPuestosPeriodo.ToString()); vCtrlColumnaResultado.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; width:100px; border-radius:2px"); vCtrlColumnaResultado.InnerHtml = " "; vCtrlRow.Controls.Add(vCtrlColumnaResultado); } } vCtrlTabla.Controls.Add(vCtrlRow); } HtmlGenericControl vCtrlRowFooter = new HtmlGenericControl("tr"); HtmlGenericControl vCtrlFooterTol = new HtmlGenericControl("td"); vCtrlFooterTol.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; font-weight:bold; text-align: right; background-color:#F5F5F5; height: 30px; border-bottom-left-radius:4px"); if (vFgFoto) { vCtrlFooterTol.Attributes.Add("colspan", "4"); } else { vCtrlFooterTol.Attributes.Add("colspan", "3"); } vCtrlFooterTol.InnerText = String.Format("{0}", "Total:"); vCtrlRowFooter.Controls.Add(vCtrlFooterTol); foreach (int itemPeriodo in lista) { vMaxPuestosPeriodo = neg.ObtenerDatosReporteGlobal(itemPeriodo, null, false).FirstOrDefault().NUM_PERIODOS; vTotalPromedios = neg.ObtenerDatosReporteGlobal(itemPeriodo, null, false).Count; vPrGlobal = neg.ObtenerDatosReporteGlobal(itemPeriodo, null, false).Average(a => a.PR_CUMPLIMIENTO); HtmlGenericControl vCtrlFooterPr = new HtmlGenericControl("td"); vCtrlFooterPr.Attributes.Add("style", "border: 1px solid gray; font-family:arial; font-size: 10pt; font-weight:bold; text-align: center; border-top: 1.1px solid gray; height: 30px; border-bottom-right-radius:4px"); vCtrlFooterPr.Attributes.Add("colspan", vMaxPuestosPeriodo.ToString()); if (vLstEvaluadores.Count > 0) { vCtrlFooterPr.InnerText = String.Format("{0:0.00}%", vPrGlobal); } else { vCtrlFooterPr.InnerText = String.Format("{0}%", 0); } vCtrlRowFooter.Controls.Add(vCtrlFooterPr); } vCtrlTabla.Controls.Add(vCtrlRowFooter); return(vCtrlTabla); }