Ejemplo n.º 1
0
        private void FinEvent()
        {
            if (Lista.Count == 0)
            {
                //ya no hay mas, por lo que termine
                if (OnFin != null)
                {
                    OnFin();
                }
                return;
            }
            //me traigo el primer objeto
            Pos++;
            if (Pos >= Lista.Count)
            {
                //ya no hay mas, por lo que termine
                if (OnFin != null)
                {
                    OnFin();
                }
                return;
            }
            CDependencia dep = Lista[Pos];

            //que carge sus dependencias
            dep.CargaDependencias();
        }
Ejemplo n.º 2
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            Objetos.CSysObject obj   = null;
            TreeNode           nodo2 = null;
            CDependencia       dep   = null;

            switch (estado)
            {
            case 0:    //cargando dependencias
                if (Pos >= Objetos.Count)
                {
                    Pos    = 0;
                    estado = 1;
                    if (OnBeginBusqueda != null)
                    {
                        BeginBusqueda();
                    }
                    return;
                }
                obj                      = Objetos[Pos];
                nodo2                    = Nodo.Nodes.Add(obj.Nombre);
                nodo2.ImageIndex         = IndexImagen(obj);
                nodo2.SelectedImageIndex = IndexImagen(obj);
                nodo2.StateImageIndex    = IndexImagen(obj);
                if (OnIncremento != null)
                {
                    OnIncremento(obj);
                }
                Pos++;
                break;

            case 1:    //buscando los que ya se avian agregado
                if (Pos >= Objetos.Count)
                {
                    timer1.Enabled = false;
                    //checo si se insertaron mas nodos
                    if (Lista.Count == 0)
                    {
                        //ya no hay mas, por lo que termine
                        if (OnFin != null)
                        {
                            OnFin();
                        }
                        return;
                    }
                    //me traigo el primer objeto
                    Pos = 0;
                    dep = Lista[Pos];
                    //que carge sus dependencias
                    dep.CargaDependencias();
                    return;
                }
                obj = Objetos[Pos];
                if (OnBusca != null)
                {
                    //busca si ya avia sido agregada la dependencia
                    if (OnBusca(obj) == false)
                    {
                        //no se encontro, por lo que lo agrego a la lista de insercion
                        nodo2               = Nodo.Nodes[Pos];
                        dep                 = new CDependencia(nodo2, obj, DB, Modo);
                        dep.OnBusca        += new OnBuscaEvent(BuscaEvent);
                        dep.OnCantidad      = new OnCantidadEvent(CantidadEvent);
                        dep.OnFin          += new OnFinEvent(FinEvent);
                        dep.OnIncremento   += new OnBuscaEvent(IncrementoEvent);
                        dep.OnBeginBusqueda = new OnFinEvent(BeginBusqueda);
                        Lista.Add(dep);
                    }
                }
                Pos++;
                break;
            }
        }