コード例 #1
0
    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;
        }
    }
コード例 #2
0
    private void CargarSubProgramasYActividades(Int32 index, Decimal ID_DETALLE_GENERAL_PADRE, DataTable tablaPrograma, String numeracion)
    {
        Int32 contadorNumeracionInterna = 1;

        Decimal ID_PROGRAMA_GENERAL = Convert.ToDecimal(HiddenField_ID_PROGRAMA_GENERAL.Value);

        Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaDetallesProgramaGeneral = _programa.ObtenerDetallesProgramaGeneralPorIdPadre(ID_PROGRAMA_GENERAL, ID_DETALLE_GENERAL_PADRE);

        foreach (DataRow fila in tablaDetallesProgramaGeneral.Rows)
        {
            if (fila["TIPO"].ToString().Trim() == TiposNodo.SUBPROGRAMA.ToString())
            {
                DataRow filaSubprogramaActividad = tablaPrograma.NewRow();

                filaSubprogramaActividad["INDEX"] = index;
                index += 1;

                filaSubprogramaActividad["ID_DETALLE_GENERAL"] = fila["ID_DETALLE_GENERAL"];
                filaSubprogramaActividad["ID_PROGRAMA_GENERAL"] = ID_PROGRAMA_GENERAL;
                filaSubprogramaActividad["TIPO"] = fila["TIPO"];
                filaSubprogramaActividad["ID_DETALLE_GENERAL_PADRE"] = fila["ID_DETALLE_GENERAL_PADRE"];

                if (DBNull.Value.Equals(fila["ID_SUBPROGRAMA"]) == true)
                {
                    filaSubprogramaActividad["ID_SUBPROGRAMA"] = 0;
                }
                else
                {
                    filaSubprogramaActividad["ID_SUBPROGRAMA"] = fila["ID_SUBPROGRAMA"];
                }

                if (DBNull.Value.Equals(fila["ID_ACTIVIDAD"]) == true)
                {
                    filaSubprogramaActividad["ID_ACTIVIDAD"] = 0;
                }
                else
                {
                    filaSubprogramaActividad["ID_ACTIVIDAD"] = fila["ID_ACTIVIDAD"];
                }

                filaSubprogramaActividad["DESCRIPCION"] = fila["DESCRIPCION_SUB_PROGRAMA"].ToString().Trim() + ".";
                filaSubprogramaActividad["URL_ICON"] = urlImgPrograma;
                filaSubprogramaActividad["NOMBRE"] = fila["NOMBRE_SUB_PROGRAMA"];

                filaSubprogramaActividad["NUMERACION"] = numeracion + contadorNumeracionInterna + ".";

                tablaPrograma.Rows.Add(filaSubprogramaActividad);

                CargarSubProgramasYActividades(index, Convert.ToDecimal(fila["ID_DETALLE_GENERAL"]), tablaPrograma, numeracion + contadorNumeracionInterna + ".");
                contadorNumeracionInterna += 1;
            }
        }

        foreach (DataRow fila in tablaDetallesProgramaGeneral.Rows)
        {
            if (fila["TIPO"].ToString().Trim() == TiposNodo.ACTIVIDAD.ToString())
            {
                DataRow filaSubprogramaActividad = tablaPrograma.NewRow();

                filaSubprogramaActividad["INDEX"] = index;
                index += 1;

                filaSubprogramaActividad["ID_DETALLE_GENERAL"] = fila["ID_DETALLE_GENERAL"];
                filaSubprogramaActividad["ID_PROGRAMA_GENERAL"] = ID_PROGRAMA_GENERAL;
                filaSubprogramaActividad["TIPO"] = fila["TIPO"];
                filaSubprogramaActividad["ID_DETALLE_GENERAL_PADRE"] = fila["ID_DETALLE_GENERAL_PADRE"];

                if (DBNull.Value.Equals(fila["ID_SUBPROGRAMA"]) == true)
                {
                    filaSubprogramaActividad["ID_SUBPROGRAMA"] = 0;
                }
                else
                {
                    filaSubprogramaActividad["ID_SUBPROGRAMA"] = fila["ID_SUBPROGRAMA"];
                }

                if (DBNull.Value.Equals(fila["ID_ACTIVIDAD"]) == true)
                {
                    filaSubprogramaActividad["ID_ACTIVIDAD"] = 0;
                }
                else
                {
                    filaSubprogramaActividad["ID_ACTIVIDAD"] = fila["ID_ACTIVIDAD"];
                }

                filaSubprogramaActividad["DESCRIPCION"] = fila["TIPO_ACTIVIDAD"].ToString().Trim() + ": " + fila["DESCRIPCION_ACTIVIDAD"].ToString().Trim() + ".<BR>SECTOR: " + fila["SECTOR_ACTIVIDAD"].ToString().Trim() + ".";
                filaSubprogramaActividad["URL_ICON"] = urlImgActividad;
                filaSubprogramaActividad["NOMBRE"] = fila["NOMBRE_ACTIVIDAD"];

                filaSubprogramaActividad["NUMERACION"] = numeracion + contadorNumeracionInterna + ".";
                contadorNumeracionInterna += 1;

                tablaPrograma.Rows.Add(filaSubprogramaActividad);
            }
        }
    }