Ejemplo n.º 1
0
 public void AgregaDetalle(DetalleFK obj)
 {
     //lo agrega si no existe
     foreach (DetalleFK d in Campos)
     {
         if (d.CampoHijo.Nombre == obj.CampoHijo.Nombre && d.CampoPadre.Nombre == obj.CampoPadre.Nombre)
         {
             //ya existe;
             return;
         }
     }
     //no existe
     Campos.Add(obj);
 }
Ejemplo n.º 2
0
        private void AgregaLLaveForanea(Objetos.CLLaveForanea obj)
        {
            //verifico si no existe
            foreach (LLAveForanea fk in LLavesForaneas)
            {
                if (fk.Nombre == obj.name)
                {
                    //ya esta ingresado
                    return;
                }
            }
            //como no esta lo agrego
            LLAveForanea fk2 = new LLAveForanea();

            fk2.Nombre = obj.name;
            //me traigo los campos de la llave
            List <Objetos.CCampoFK> campos = MotorDB.DameCamposFK(fk2.Nombre);
            //agrego los campos
            bool primero = true;

            foreach (Objetos.CCampoFK c in campos)
            {
                if (primero)
                {
                    //como es el primer registro, me traigo las tablas
                    fk2.TablaHija  = DameTabla(c.hija);
                    fk2.TablaPadre = DameTabla(c.maestra);
                    primero        = false;
                }
                DetalleFK detalle = new DetalleFK();
                detalle.CampoHijo  = fk2.TablaHija.DameCampo(c.columnahija);
                detalle.CampoPadre = fk2.TablaPadre.DameCampo(c.columnaMaestra);
                fk2.AgregaDetalle(detalle);
            }
            //agrego la relacion a la tabla
            fk2.TablaHija.AgregaLlaveForanea(fk2);
        }