Exemplo n.º 1
0
        /// <summary>
        /// AÑADE NODOS SELECCIONADOS A LISTA
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void TREE_ARCHIVO_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
        {
            try
            {
                //============================================================================
                // CAPTURAMOS EL NODO SELECCIONADO
                //============================================================================
                TreeNode NODO         = e.Node;
                bool     seleccionado = NODO.Checked;

                //============================================================================
                // VALIDA SI ESTA SELECCIONADO O NO
                //============================================================================
                if (seleccionado)
                {
                    int    CONTADOR = 0;
                    string ANTERIOR = "";

                    for (int i = 0; i < NODO.ChildNodes.Count; i++)
                    {
                        //============================================================================
                        // ITERACION PARA SABER SI EL NODO ESTABA AGREGADO
                        //============================================================================
                        foreach (string item in V_Global().Archivos)
                        {
                            string[] split = item.Split('\\');

                            if (split[1].Equals(NODO.ChildNodes[i].Value.ToString()))
                            {
                                ANTERIOR = item;
                                CONTADOR++;

                                TreeNode NODO_ANTERIOR = TREE_ARCHIVO.FindNode(split[0]);
                                NODO_ANTERIOR.Checked = false;
                            }
                        }

                        //============================================================================
                        // VALIDACION DE NODOS AGREGADOS
                        //============================================================================
                        if (CONTADOR == 0)
                        {
                            V_Global().Archivos.Add(NODO.Value.ToString() + @"\" + NODO.ChildNodes[i].Value.ToString());
                        }
                        else
                        {
                            //============================================================================
                            // SI ESTA AGREGADO ELIMINAMOS EL ANTERIOR Y AGREGAMOS EL NUEVO
                            //============================================================================
                            V_Global().Archivos.Remove(ANTERIOR);
                            V_Global().Archivos.Add(NODO.Value.ToString() + @"\" + NODO.ChildNodes[i].Value.ToString());
                        }
                    }
                }
                else
                {
                    //============================================================================
                    // ITERACION PARA ELIMINACION DE NODOS NO SELECCIONADOS
                    //============================================================================
                    for (int i = 0; i < NODO.ChildNodes.Count; i++)
                    {
                        V_Global().Archivos.Remove(NODO.Value.ToString() + @"\" + NODO.ChildNodes[i].Value.ToString());
                    }
                }

                //============================================================================
                // ACTUALIZA LA LISTA DE NODOS SELECCIONADOS
                //============================================================================
                CARGAR_LISTA_SELECCIONADOS();
            }
            catch (EServiceRestFulException srv)
            {
                MensajeLOG(srv.Message, "ERRORES DE SERVICIO");
            }
            catch (System.Exception ex)
            {
                MensajeLOG(UThrowError.MensajeThrow(ex), "ERRORES DE APLICACIÓN");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// GENERA ARBOL DE DIRECTORIOS Y ARCHIVOS
        /// </summary>
        /// <param name="RUTA_ROOT"></param>
        /// <param name="CODIGO_CLUSTER"></param>
        /// <param name="CODIGO_INTERFAZ"></param>
        /// <param name="FECHA_INICIO"></param>
        /// <param name="FECHA_FIN"></param>
        private void CARGAR_ARBOL(string RUTA_ROOT, string CODIGO_CLUSTER, string CODIGO_INTERFAZ, DateTime FECHA_INICIO, DateTime FECHA_FIN)
        {
            try
            {
                //=============================================================================
                // LIMPIAMOS ARBOL
                //=============================================================================
                TREE_ARCHIVO.Nodes.Clear();

                //=============================================================================
                // DECLARACION DE VARIABLES
                //=============================================================================
                string grupo = "";
                int    CONTADOR_DIRECTORIO = 0;
                int    CONTADOR            = 0;

                //=============================================================================
                // CREACION DE RUTA DE DIRECTORIOS
                //=============================================================================
                string RUTA = RUTA_ROOT + CODIGO_CLUSTER + @"\" + CODIGO_INTERFAZ;


                //=============================================================================
                // VALIDACION DE EXISTENCIA DE DIRECTORIOS
                //=============================================================================
                if (!Directory.Exists(RUTA))
                {
                    MensajeLOG("NO EXISTEN ARCHIVOS PARA LA INTERFAZ SELECCIONADA", "ERRORES DE APLICACIÓN");
                    return;
                }

                //=============================================================================
                // OBTENEMOS INFORMACION SOBRE LOS DIRECTORIOS
                //=============================================================================
                DirectoryInfo direc = new DirectoryInfo(RUTA);

                //=============================================================================
                // RECORREMOS LOS DIRECTORIOS PARA CONTAR LOS QUE PASAN EL FILTRO DE FECHAS
                //=============================================================================
                foreach (var fi in direc.GetDirectories().OrderBy(fi => fi.Name))
                {
                    DateTime FECHA_DIRECTORIO = Convert.ToDateTime(fi.Name.Substring(0, 10));

                    if (FECHA_DIRECTORIO >= FECHA_INICIO && FECHA_DIRECTORIO <= FECHA_FIN)
                    {
                        CONTADOR_DIRECTORIO++;
                    }
                }

                //=============================================================================
                // GENERAMOS ARREGLO DE DIRECTORIOS
                //=============================================================================
                DirectoryInfo[] DIRECTORIOS = new DirectoryInfo[CONTADOR_DIRECTORIO];

                //=============================================================================
                // LLENAMOS EL ARREGLO CON LOS DIRECTORIOS QUE CUMPLEN EL FILTRO DE FECHAS
                //=============================================================================
                foreach (var fi in direc.GetDirectories().OrderBy(fi => fi.Name))
                {
                    DateTime FECHA_DIRECTORIO = Convert.ToDateTime(fi.Name.Substring(0, 10));

                    if (FECHA_DIRECTORIO >= FECHA_INICIO && FECHA_DIRECTORIO <= FECHA_FIN)
                    {
                        DirectoryInfo di = new DirectoryInfo(fi.FullName);
                        DIRECTORIOS[CONTADOR] = di;
                        CONTADOR++;
                    }
                }

                //=============================================================================
                // ITERACION SOBRE DIRECTORIOS QUE CUMPLEN EL FILTRO DE FECHAS
                //=============================================================================
                foreach (var fi in DIRECTORIOS.OrderBy(fi => fi.Name))
                {
                    if (grupo != fi.Name)
                    {
                        grupo = fi.Name;

                        //=============================================================================
                        // CREAMOS EL NODO PADRE
                        //=============================================================================
                        TreeNode nodoPadre = new TreeNode(grupo, fi.Name);

                        //=============================================================================
                        // MODIFICAMOS ACCION DE SELECCION
                        //=============================================================================
                        nodoPadre.SelectAction = TreeNodeSelectAction.Expand;

                        //=============================================================================
                        // ITERACION SOBRE RUTA DE NODO PADRE PARA SABER SUS ARCHIVOS
                        //=============================================================================
                        DirectoryInfo di = new DirectoryInfo(fi.FullName);
                        foreach (var fa in di.GetFiles().OrderBy(fa => fa.Name))
                        {
                            //=============================================================================
                            // CREAMOS EL NODO HIJO
                            //=============================================================================
                            TreeNode nodoHijo = new TreeNode(fa.Name, fa.Name);

                            //=============================================================================
                            // MODIFICAMOS ACCION DE SELECCION
                            //=============================================================================
                            nodoHijo.SelectAction = TreeNodeSelectAction.None;

                            nodoPadre.ChildNodes.Add(nodoHijo);
                        }

                        //=============================================================================
                        // AÑADIMOS NODO PADRE AL ARBOL
                        //=============================================================================
                        TREE_ARCHIVO.Nodes.Add(nodoPadre);
                    }
                }

                //=============================================================================
                // EXPANDIMOS TODO EL ARBOL
                //=============================================================================
                TREE_ARCHIVO.ExpandAll();
            }
            catch
            {
                throw;
            }
        }