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); }
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); }