private String GetTablaHerramientas(Int32 nivel, String numeracion, String tipo_herramienta, infoNodoProgramaGeneral infoNodo) { Int32 TAMANO_TABLA = 0; if (nivel == 1) { TAMANO_TABLA = 100; } else { Int32 porcentaje = 5 * (nivel - 1); TAMANO_TABLA = 100 - porcentaje; } String html_tabla = "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"[TAMANO_TABLA]%\" align=\"right\">"; html_tabla += "<tr>"; html_tabla += "<td width=\"[TAMANO_TD_NUMERACION]\" valign=\"top\" style=\"text-align:left;\">"; html_tabla += "[NUMERACION]"; html_tabla += "</td>"; html_tabla += "<td style=\"text-align: justify;\">"; html_tabla += "[TEXTO]"; html_tabla += "</td>"; html_tabla += "</tr>"; html_tabla += "</table>"; html_tabla = html_tabla.Replace("[TAMANO_TABLA]", TAMANO_TABLA.ToString()); if (tipo_herramienta == "SUBPROGRAMA") { html_tabla = html_tabla.Replace("[NUMERACION]", numeracion); html_tabla = html_tabla.Replace("[TEXTO]", "<b>" + infoNodo.SUB_NOMBRE + ":</b> " + infoNodo.SUB_DESCRIPCION); html_tabla = html_tabla.Replace("[TAMANO_TD_NUMERACION]", "5"); } else { html_tabla = html_tabla.Replace("[NUMERACION]", "•"); html_tabla = html_tabla.Replace("[TEXTO]", "<b>" + infoNodo.ACT_TIPO + " - " + infoNodo.ACT_NOMBRE + ":</b> " + infoNodo.ACT_DESCRIPCION + "<b>SECTOR:</b> " + infoNodo.ACT_SECTOR); html_tabla = html_tabla.Replace("[TAMANO_TD_NUMERACION]", "3"); } return html_tabla; }
private void CargarSubProgramasYActividadesDeProgramaGeneralEnLista(Decimal ID_PROGRAMA_GENERAL, Decimal ID_DETALLE_GENERAL_PADRE, Dictionary<String, infoNodoProgramaGeneral> diccionario, String numeracion) { int contador = 1; Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaDetallesProgramaGeneral = _programa.ObtenerDetallesProgramaGeneralPorIdPadre(ID_PROGRAMA_GENERAL, ID_DETALLE_GENERAL_PADRE); //recorremos agregando los subprogramas al nodo padre foreach (DataRow fila in tablaDetallesProgramaGeneral.Rows) { if (fila["TIPO"].ToString().Trim() == TiposNodoProgramaGeneral.SUBPROGRAMA.ToString()) { infoNodoProgramaGeneral nodo = new infoNodoProgramaGeneral(); nodo.TIPO_NODO = TiposNodoProgramaGeneral.SUBPROGRAMA; nodo.SUB_DESCRIPCION = fila["DESCRIPCION_SUB_PROGRAMA"].ToString().Trim(); nodo.SUB_NOMBRE = fila["NOMBRE_SUB_PROGRAMA"].ToString().Trim(); Decimal ID_DETALLE_GENERAL = Convert.ToDecimal(fila["ID_DETALLE_GENERAL"]); if (numeracion == null) { diccionario.Add(contador.ToString() + ":" + TiposNodoProgramaGeneral.SUBPROGRAMA.ToString(), nodo); CargarSubProgramasYActividadesDeProgramaGeneralEnLista(ID_PROGRAMA_GENERAL, ID_DETALLE_GENERAL, diccionario, contador.ToString()); } else { diccionario.Add(numeracion + "." + contador.ToString() + ":" + TiposNodoProgramaGeneral.SUBPROGRAMA.ToString(), nodo); CargarSubProgramasYActividadesDeProgramaGeneralEnLista(ID_PROGRAMA_GENERAL, ID_DETALLE_GENERAL, diccionario, numeracion + "." + contador.ToString()); } } contador += 1; } //RECORREMOS AGREGANDO AHORA LAS ACTIVIDADES contador = 1; foreach (DataRow fila in tablaDetallesProgramaGeneral.Rows) { if (fila["TIPO"].ToString().Trim() == TiposNodoProgramaGeneral.ACTIVIDAD.ToString()) { infoNodoProgramaGeneral nodo = new infoNodoProgramaGeneral(); nodo.TIPO_NODO = TiposNodoProgramaGeneral.ACTIVIDAD; nodo.ACT_DESCRIPCION = fila["DESCRIPCION_ACTIVIDAD"].ToString().Trim(); nodo.ACT_NOMBRE = fila["NOMBRE_ACTIVIDAD"].ToString().Trim(); nodo.ACT_SECTOR = fila["SECTOR_ACTIVIDAD"].ToString().Trim(); nodo.ACT_TIPO = fila["TIPO_ACTIVIDAD"].ToString().Trim(); if (numeracion == null) { diccionario.Add(contador.ToString() + ":" + TiposNodoProgramaGeneral.ACTIVIDAD.ToString(), nodo); } else { diccionario.Add(numeracion + "." + contador.ToString() + ":" + TiposNodoProgramaGeneral.ACTIVIDAD.ToString(), nodo); } } contador += 1; } }