private void comprarCadenasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (ListaObjetos.SelectedIndex == -1)
            {
                return;
            }
            // muestro las diferedncias en el odigo
            //me traigo el objeto que tiene las diferencias
            Objetos.CDiferenciaObjeto objdif = null;
            objdif = Diferencias[ListaObjetos.SelectedIndex];
            //si es procedimiento almacenado, funcion o vita puedo hacer la comparacion de codigo
            Objetos.CSysObject obj = (Objetos.CSysObject)objdif.obj;
            if (obj.TipoObjeto != Controladores_DB.TIPOOBJETO.STOREPROCERURE && obj.TipoObjeto != Controladores_DB.TIPOOBJETO.VISTA)
            {
                //como no es soprtado el tipo de objeto, no hago nada
                return;
            }
            // ahora veo el tipo de diferencia que es.
            if (!objdif.Descripcion.Contains("El código fuente es diferente"))
            {
                // no es diferencia de codigo.
                // no hago nada
                return;
            }
            //ahora si me traigo el codigo de ambas bases
            string s1 = DB.DameCodigo(obj.Nombre);
            string s2 = DB2.DameCodigo(obj.Nombre);

            //ahora si los paso al comparador de cadenas para que los muestre
            if (OnComprarCodigo != null)
            {
                OnComprarCodigo(s1, "Local", s2, ComboConexiones.Text);
            }
        }
示例#2
0
        public string DameInsert(string tabs, string sx)
        {
            //regresa la sintaxis de un insert en una tabla
            Objetos.CSysObject Tabla = Lista[ListaObjetos.SelectedIndex];
            string             s     = sx + "into " + Tabla.Nombre + "(";
            string             s2    = "\r\n" + tabs + "values(";

            System.Collections.Generic.List <Objetos.CParametro> campos;
            campos = DB.DameCamposTabla(Tabla.Nombre);
            bool primero = true;

            foreach (Objetos.CParametro campo in campos)
            {
                if (primero == true)
                {
                    s       = s + campo.nombre;
                    primero = false;
                }
                else
                {
                    s  = s + "," + campo.nombre;
                    s2 = s2 + ",";
                }
            }
            s = s + ")" + s2 + ")";
            return(s);
        }
示例#3
0
        private TreeNode AgregaPadre(string nombre, TreeNode nodo)
        {
            TreeNode ultimo = nodo;

            System.Collections.Generic.List <Objetos.CSysObject> lista;
            lista = DB.DamePadresDe(nombre);
            int n;

            n = lista.Count;
            if (n > 0)//for (i = 0; i < n; i++)
            {
                Objetos.CSysObject obj   = lista[0];
                TreeNode           nodo2 = AgregaPadre(obj.Nombre, nodo);
                TreeNode           nodo3 = nodo2.Nodes.Add(nombre);
                nodo3.ImageIndex         = 1;
                nodo3.SelectedImageIndex = 1;
                nodo3.StateImageIndex    = 1;
                Objetos.Add(obj);
                return(nodo3);
            }
            TreeNode nodo4 = nodo.Nodes.Add(nombre);

            nodo4.ImageIndex         = 1;
            nodo4.SelectedImageIndex = 1;
            nodo4.StateImageIndex    = 1;
            return(nodo4);
        }
示例#4
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     if (Lista.Count == 0)
     {
         timer1.Enabled        = false;
         cBarraProgreso1.Texto = "Analisis terminado";
         foreach (string s in ListaTablas)
         {
             MuestraTabla(s);
         }
         COrdenadorTablas ot = new COrdenadorTablas(Tablas);
         ot.Ordena();
         Dibuja();
         return;
     }
     try
     {
         cBarraProgreso1.Progreso++;
     }
     catch (System.Exception)
     {
         cBarraProgreso1.Progreso = 1;
     }
     //me traigo el primer Item
     Obj = Lista[0];
     Lista.RemoveAt(0);
     if (Obj.TipoObjeto == Controladores_DB.TIPOOBJETO.TABLAX)
     {
         ListaTablas.Add(Obj.Nombre);
     }
     else
     {
         cBarraProgreso1.Texto = "Extrayendo dependencias de: " + Obj.Nombre;
         System.Collections.Generic.List <Objetos.CSysObject> l;
         if (Obj.TipoObjeto == Controladores_DB.TIPOOBJETO.STOREPROCERURE)
         {
             l = DB.DameDependencias(Obj.Nombre);
         }
         else
         {
             l = DB.DameDependientesDe(Obj.Nombre);
         }
         foreach (Objetos.CSysObject obj in l)
         {
             if (obj.TipoObjeto == Controladores_DB.TIPOOBJETO.TABLAX)
             {
                 AgregaAlaLista(obj.Nombre);
             }
             else
             {
                 if (Exiete(obj.Nombre) == false)
                 {
                     Lista.Add(obj);
                     cBarraProgreso1.ValorMaximo++;
                 }
             }
         }
     }
 }
示例#5
0
 private bool BuscaEvent(Objetos.CSysObject obj)
 {
     if (OnBusca != null)
     {
         return(OnBusca(obj));
     }
     return(true);
 }
示例#6
0
 private bool IncrementoEvent(Objetos.CSysObject obj)
 {
     if (OnIncremento != null)
     {
         OnIncremento(obj);
     }
     return(true);
 }
        private void lLenarDesdeUnSpOTablaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Formularios.FormBuscarTabla dlg = new FormBuscarTabla(DB, Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE);
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            Objetos.CSysObject obj = dlg.DameObjeto();
            int j, k;

            System.Data.SqlClient.SqlCommand SqlCommand1;
            SqlCommand1             = new System.Data.SqlClient.SqlCommand();
            SqlCommand1.CommandText = obj.Nombre;
            SqlCommand1.CommandType = System.Data.CommandType.StoredProcedure;
            SqlCommand1.Connection  = new System.Data.SqlClient.SqlConnection(DB.ConnectionString);
            SqlCommand1.Connection.Open();
            System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand1);
            System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
            sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
            sqlDataAdapter1.SelectCommand = SqlCommand1;
            DataSet ds = new DataSet("aaa");

            try
            {
                sqlDataAdapter1.GetFillParameters();
                sqlDataAdapter1.FillSchema(ds, SchemaType.Source, "aaa");
                k = ds.Tables.Count;
                for (j = 0; j < k; j++)
                {
                    System.Data.DataTable t = ds.Tables[j];
                    int i, n;
                    n = t.Columns.Count;
                    Objetos.CConvertidor cv = new Objetos.CConvertidor();
                    for (i = 0; i < n; i++)
                    {
                        System.Data.DataColumn c         = t.Columns[i];
                        Objetos.CParametro     parametro = new Objetos.CParametro();
                        parametro.tipo    = c.Caption;
                        parametro.nombre  = c.Caption;
                        parametro.Logitud = c.MaxLength;
                        this.Campos.Add(parametro);
                        ListaCampos.Items.Add(parametro.tipo);

                        //string TipoNet = cv.DameTipo(c.DataType.ToString());
                        //OnDatoManual(c.Caption, TipoNet);
                    }
                }
            }
            catch (Exception ex)
            {
                SqlCommand1.Connection.Close();
                throw new Exception(ex.Message);
            }
            SqlCommand1.Connection.Close();
            MuestraDataGrid();
        }
示例#8
0
        private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas)
        {
            try
            {
                ListaObjetos.Nodes.Clear();
                Controladores_DB.TIPOOBJETO tipo = Controladores_DB.TIPOOBJETO.NINGUNO;
                switch (ComboTipos.SelectedIndex)
                {
                case 0:
                    tipo = Controladores_DB.TIPOOBJETO.NINGUNO;
                    break;

                case 1:
                    tipo = Controladores_DB.TIPOOBJETO.TABLAX;
                    break;

                case 2:
                    tipo = Controladores_DB.TIPOOBJETO.VISTA;
                    break;

                case 3:
                    tipo = Controladores_DB.TIPOOBJETO.STOREPROCERURE;
                    break;

                case 4:
                    tipo = Controladores_DB.TIPOOBJETO.EN_CODIGO;
                    break;

                case 5:
                    tipo = Controladores_DB.TIPOOBJETO.VISTAS_TABLAS;
                    break;

                case 6:
                    tipo = Visor_sql_2015.Controladores_DB.TIPOOBJETO.CAMPOS_TABLA;
                    break;
                }
                Lista = DB.BuscaObjetos(Texto.Trim(), tipo);
                int i, n;
                n = Lista.Count;
                for (i = 0; i < n; i++)
                {
                    Objetos.CSysObject  obj  = Lista[i];
                    Objetos.CNodoBuscar nodo = new Objetos.CNodoBuscar();
                    nodo.Text = obj.Nombre;
                    nodo.Tipo = obj.TipoObjeto;
                    nodo.Tag  = obj;
                    ListaObjetos.Nodes.Add(nodo);
                }
                LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString();
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }
示例#9
0
 public CDependencia(TreeNode nodo, Objetos.CSysObject objeto, Controladores_DB.IDataBase db, bool modo)
 {
     Modo                 = modo;
     DB                   = db;
     Nodo                 = nodo;
     Objeto               = objeto;
     Lista                = new List <CDependencia>();
     this.timer1          = new System.Windows.Forms.Timer();
     this.timer1.Interval = 50;
     this.timer1.Tick    += new System.EventHandler(this.timer1_Tick);
 }
示例#10
0
 private void ListaObjetos_DoubleClick(object sender, EventArgs e)
 {
     if (ListaObjetos.SelectedIndex == -1)
     {
         return;
     }
     Objetos.CSysObject obj = Lista[ListaObjetos.SelectedIndex];
     if (OnVerObjeto != null)
     {
         OnVerObjeto(obj);
     }
 }
示例#11
0
        private void ComparaCodigo(Objetos.CSysObject obj, Objetos.CSysObject obj2)
        {
            //son SPs o vistas o trigers
            string s1, s2;

            s1 = DB.DameCodigo(obj.Nombre).ToUpper().Trim().Replace("\r\n", "\n");
            s2 = DB2.DameCodigo(obj.Nombre).ToUpper().Trim().Replace("\r\n", "\n");
            if (s1 != s2)
            {
                AgregaDiferencia(obj, "El código fuente es diferente", 2);
            }
        }
示例#12
0
        private void AgregaDependencias(Objetos.CSysObject Objeto, TreeNode nodo)
        {
            Progreso.Texto = "cargando dependencias de: " + Objeto.Nombre;
            System.Collections.Generic.List <Objetos.CSysObject> lista;
            //si es un SP, y es el objeto principal, muestro sus dependendias
            if (RBDependende.Checked == true)
            {
                if (Objeto.TipoObjeto == Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE)
                {
                    lista = DB.DameDependientesDe(Objeto.Nombre);
                }
                else
                {
                    lista = DB.DameDependencias(Objeto.Nombre);
                }
            }
            else
            {
                if (Objeto.TipoObjeto == Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE)
                {
                    lista = DB.DameDependencias(Objeto.Nombre);
                }
                else
                {
                    lista = DB.DameDependientesDe(Objeto.Nombre);
                }
            }
            int i, n;

            n = lista.Count;
            Progreso.ValorMaximo = Progreso.ValorMaximo + n;
            for (i = 0; i < n; i++)
            {
                Objetos.CSysObject obj   = lista[i];
                TreeNode           nodo2 = nodo.Nodes.Add(obj.Nombre);
                nodo2.Tag                = obj;
                nodo2.ImageIndex         = IndexImagen(obj);
                nodo2.SelectedImageIndex = IndexImagen(obj);
                nodo2.StateImageIndex    = IndexImagen(obj);
            }
            for (i = 0; i < n; i++)
            {
                Progreso.Progreso++;
                Invalidate();
                Objetos.CSysObject obj = lista[i];
                if (Busca(obj) == false)
                {
                    TreeNode nodo2 = nodo.Nodes[i];
                    AgregaDependencias(obj, nodo2);
                }
            }
        }
示例#13
0
 private void ListaObjetos_DoubleClick(object sender, EventArgs e)
 {
     if (ListaObjetos.SelectedNode == null)
     {
         return;
     }
     Objetos.CNodoBuscar nodo = (Objetos.CNodoBuscar)ListaObjetos.SelectedNode;
     Objetos.CSysObject  obj  = (Objetos.CSysObject)nodo.Tag;
     if (OnVerObjeto != null)
     {
         OnVerObjeto(obj);
     }
 }
示例#14
0
        private bool Busca(Objetos.CSysObject obj2)
        {
            int i, n;

            n = Agregados.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CSysObject obj = Agregados[i];
                if (obj.Nombre == obj2.Nombre)
                {
                    return(true);
                }
            }
            Agregados.Add(obj2);
            return(false);
        }
示例#15
0
        private void TNombre_TextChanged(object sender, EventArgs e)
        {
            try
            {
                ListaObjetos.Items.Clear();
                Controladores_DB.TIPOOBJETO tipo = Controladores_DB.TIPOOBJETO.NINGUNO;
                switch (ComboTipos.SelectedIndex)
                {
                case 0:
                    tipo = Controladores_DB.TIPOOBJETO.NINGUNO;
                    break;

                case 1:
                    tipo = Controladores_DB.TIPOOBJETO.TABLAX;
                    break;

                case 2:
                    tipo = Controladores_DB.TIPOOBJETO.VISTA;
                    break;

                case 3:
                    tipo = Controladores_DB.TIPOOBJETO.STOREPROCERURE;
                    break;

                case 4:
                    tipo = Controladores_DB.TIPOOBJETO.EN_CODIGO;
                    break;

                case 5:
                    tipo = Controladores_DB.TIPOOBJETO.VISTAS_TABLAS;
                    break;
                }
                Lista = DB.BuscaObjetos(TNombre.Text.Trim(), tipo);
                int i, n;
                n = Lista.Count;
                for (i = 0; i < n; i++)
                {
                    Objetos.CSysObject obj = Lista[i];
                    ListaObjetos.Items.Add(obj);
                }
                LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString();
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }
示例#16
0
        private void AgregaHijos(string nombre, TreeNode nodo)
        {
            System.Collections.Generic.List <Objetos.CSysObject> lista;
            lista = DB.DameHijosDe(nombre);
            int i, n;

            n = lista.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CSysObject obj = lista[i];
                Objetos.Add(obj);
                TreeNode nodo2 = nodo.Nodes.Add(obj.Nombre);
                nodo2.ImageIndex         = 3;
                nodo2.SelectedImageIndex = 3;
                nodo2.StateImageIndex    = 3;
                AgregaHijos(obj.Nombre, nodo2);
            }
        }
示例#17
0
 private void listView1_DoubleClick(object sender, EventArgs e)
 {
     if (Tabla == null)
     {
         return;
     }
     System.Collections.Generic.List <Objetos.CSysObject> lista;
     lista = DB.BuscaObjetos(Tabla, Controladores_DB.TIPOOBJETO.NINGUNO);
     if (lista.Count == 0)
     {
         return;
     }
     Objetos.CSysObject obj = lista[0];
     if (OnVerObjeto != null)
     {
         OnVerObjeto(obj);
     }
 }
示例#18
0
        private void ComparaLLavesForaneas(Objetos.CSysObject obj, Objetos.CSysObject obj2)
        {
            System.Collections.Generic.List <Objetos.CCampoFK> l1, l2;
            l1 = DB.DameLLaveForanea(obj.Nombre);
            l2 = DB2.DameLLaveForanea(obj2.Nombre);
            if (l1.Count != l2.Count)
            {
                AgregaDiferencia(obj, "El numero de campos de la llave foránea no coinciden", 2);
                return;
            }
            int i, n;

            n = l2.Count;
            //comparo campo por campo
            for (i = 0; i < n; i++)
            {
                Objetos.CCampoFK c1, c2;
                c1 = l1[i];
                c2 = l2[i];
                //comparo si las tablas coinciden
                if (c1.maestra != c2.maestra)
                {
                    AgregaDiferencia(obj, "Las tablas con clave primaria no coinciden", 2);
                    return;
                }
                if (c1.hija != c2.hija)
                {
                    AgregaDiferencia(obj, "Las tablas con clave externa no coinciden", 2);
                    return;
                }
                if (c1.columnahija != c2.columnahija)
                {
                    AgregaDiferencia(obj, "Las columnas de clave externa no coinciden", 2);
                    return;
                }
                if (c1.columnaMaestra != c2.columnaMaestra)
                {
                    AgregaDiferencia(obj, "Las columnas de clave primaria no coinciden", 2);
                    return;
                }
            }
        }
示例#19
0
        private void FormDependecias_Load(object sender, EventArgs e)
        {
            if (Dependencias == true)
            {
                Lista = DB.DameDependencias(fnombre);
            }
            else
            {
                Lista = DB.DameDependientesDe(fnombre);
            }
            listBox1.Items.Clear();
            int i, n;

            n = Lista.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CSysObject obj = Lista[i];
                listBox1.Items.Add(obj.Nombre);
            }
        }
示例#20
0
 private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas)
 {
     try
     {
         ListaObjetos.Items.Clear();
         Lista = DB.BuscaObjetos(Texto.Trim(), Tipo);
         int i, n;
         n = Lista.Count;
         for (i = 0; i < n; i++)
         {
             Objetos.CSysObject obj = Lista[i];
             ListaObjetos.Items.Add(obj.Nombre);
         }
         LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString();
     }
     catch (System.Exception ex)
     {
         System.Windows.Forms.MessageBox.Show(ex.Message);
     }
 }
示例#21
0
        private void verTablaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode nodo = treeView1.SelectedNode;

            if (nodo == null)
            {
                return;
            }
            System.Collections.Generic.List <Objetos.CSysObject> lista;
            lista = DB.BuscaObjetos(nodo.Text, Controladores_DB.TIPOOBJETO.NINGUNO);
            if (lista.Count == 0)
            {
                return;
            }
            Objetos.CSysObject obj = lista[0];
            if (OnVerObjeto != null)
            {
                OnVerObjeto(obj);
            }
        }
示例#22
0
 private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas)
 {
     try
     {
         ListaObjetos.Items.Clear();
         DlstCampos.Items.Clear();
         List <Objetos.CSysObject> Lista;
         Lista = DB.BuscaObjetos(Texto.Trim(), Controladores_DB.TIPOOBJETO.TABLAX);
         int i, n;
         n = Lista.Count;
         for (i = 0; i < n; i++)
         {
             Objetos.CSysObject obj = Lista[i];
             ListaObjetos.Items.Add(obj.Nombre);
         }
     }
     catch (System.Exception ex)
     {
         System.Windows.Forms.MessageBox.Show(ex.Message);
     }
 }
示例#23
0
        private int IndexImagen(Objetos.CSysObject obj)
        {
            //regresa el indice de la imagen al que depende el objeto
            switch (obj.TipoObjeto)
            {
            case Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE:
                return(4);

            case Visor_sql_2015.Controladores_DB.TIPOOBJETO.TABLAX:
                return(0);

            case Visor_sql_2015.Controladores_DB.TIPOOBJETO.VISTAS_TABLAS:
                return(0);

            case Visor_sql_2015.Controladores_DB.TIPOOBJETO.TABLASYSTEMA:
                return(0);

            case Visor_sql_2015.Controladores_DB.TIPOOBJETO.VISTA:
                return(5);
            }
            return(6);
        }
示例#24
0
        private void AgregaDiferencia(Objetos.CSysObject obj, string descripcion, int tipo)
        {
            bool agregar = false;

            switch (ComboVer.SelectedIndex)
            {
            case 0:    // todos
                agregar = true;
                break;

            case 1:     //nuevos
                if (tipo == 1)
                {
                    agregar = true;
                }
                break;

            case 2:     //con diferencias
                if (tipo == 2)
                {
                    agregar = true;
                }
                break;

            default:
                agregar = true;     //no definido
                break;
            }
            if (agregar)
            {
                Objetos.CDiferenciaObjeto dobj = new Visor_sql_2015.Objetos.CDiferenciaObjeto();
                dobj.obj         = obj;
                dobj.Descripcion = descripcion;
                Diferencias.Add(dobj);
                ListaObjetos.Items.Add(obj.Nombre);
                label3.Text = "Objetos con diferencias: " + ListaObjetos.Items.Count;
            }
        }
示例#25
0
        public string DameSP(string s2)
        {
            //regresa la sintaxis de una llamada a un SP
            Objetos.CSysObject Tabla = Lista[ListaObjetos.SelectedIndex];
            string             s     = s2 + Tabla.Nombre + " ";

            System.Collections.Generic.List <Objetos.CParametro> campos;
            campos = DB.DameParametrosDeProcedimiento(Tabla.Nombre);
            bool primero = true;

            foreach (Objetos.CParametro campo in campos)
            {
                if (primero == true)
                {
                    s       = s + campo.nombre;
                    primero = false;
                }
                else
                {
                    s = s + "," + campo.nombre;
                }
            }
            return(s);
        }
示例#26
0
        private void BAgregar_Click(object sender, EventArgs e)
        {
            //verifico si existe en la lista destido
            int i, n;

            n = ListaObjetos.SelectedIndices.Count;
            for (i = n - 1; i >= 0; i--)
            {
                int indice = ListaObjetos.SelectedIndices[i];
                Objetos.CSysObject obj2 = (Objetos.CSysObject)ListaObjetos.Items[indice];
                foreach (Objetos.CSysObject obj in Lista2.Items)
                {
                    if (obj.Nombre == obj2.Nombre)
                    {
                        //como ya existe, no lo agrego
                        return;
                    }
                }
                Lista2.Items.Add(ListaObjetos.Items[indice]);
                ListaObjs2.Add(Lista[indice]);
                Lista.RemoveAt(indice);
                ListaObjetos.Items.RemoveAt(indice);
            }
        }
示例#27
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;
            }
        }
示例#28
0
 private bool BuscaEvent(Objetos.CSysObject obj)
 {
     Progreso.Texto = "Buscando: " + obj.Nombre;
     Progreso.Progreso++;
     return(Busca(obj));
 }
示例#29
0
        private void AnalizaSiguiente()
        {
            if (Lista.Count == 0)
            {
                //ya se termino el analisis
                cBarraProgreso1.Texto   = "Exportacion terminada";
                TimerDocumentar.Enabled = false;
                BAnalizar.Enabled       = true;
                return;
            }
            Objetos.CSysObject obj = Lista[0];
            Lista.RemoveAt(0);
            cBarraProgreso1.Texto = "Analizando: " + obj.Nombre;
            cBarraProgreso1.Progreso++;
            //me traigo la docuemntacion de la tabla
            //veo si existe en la base de datos destino
            Objetos.CSysObject        ObjDest;
            List <Objetos.CSysObject> l = DB2.BuscaObjetos(obj.Nombre, obj.TipoObjeto);

            if (l.Count == 0)
            {
                return;
            }
            ObjDest = l[0];
            if (ObjDest == null)
            {
                return;
            }
            if (obj.Nombre.ToLower().Trim() != ObjDest.Nombre.ToLower().Trim())
            {
                return;
            }
            //aplico la docuemntacion
            string DescTabla   = DB.DaMeDescripcionTabla(obj.Nombre);
            bool   documentada = false;

            if (DescTabla.Trim() != "")
            {
                documentada = true;
                DB2.GusrdaDescripcionTabla(ObjDest.Nombre, DescTabla);
            }
            //me traigo los campos de la tabla
            System.Collections.Generic.List <Objetos.CParametro> Campos;
            Campos = DB.DameCamposTabla(obj.Nombre);
            foreach (Objetos.CParametro campo in Campos)
            {
                campo.Descripcion = DB.DameDescripcionCampo(obj.Nombre, campo.nombre);
                if (campo.Descripcion.Trim() != "")
                {
                    try
                    {
                        DB2.GuardaDescripcionCampo(ObjDest.Nombre, campo.nombre, campo.Descripcion);
                        documentada = true;
                    }
                    catch (System.Exception ex)
                    {
                        TablasDocuemntadas.Items.Add(ex.Message);
                    }
                }
            }
            if (documentada == true)
            {
                TablasDocuemntadas.Items.Add(obj.Nombre);
            }
        }
示例#30
0
 private bool IncrementoEvent(Objetos.CSysObject obj)
 {
     Progreso.Texto = "Cargando: " + obj.Nombre;
     Progreso.Progreso++;
     return(true);
 }