private void eliminaCascada(Diccionario baseDatos,string entidad,List<string> datos) { List<string> aux = new List<string>(); Entidad enti = baseDatos.getEntByName(entidad); foreach (Entidad i in baseDatos.Entidades) if (i.nombre != entidad) for (int j = 0; j < i.Atributos.Count-6; j++) if (i.atributos[j].ApuntaPrim == entidad) for(int l=0;l<enti.atributos.Count;l++) if(enti.atributos[l].TClave==1) for (int k=0;k<enti.ListaRegistros.Count;k++) if (datos[l] == i.listaRegistros[k][j]) { aux = i.listaRegistros[k]; i.ListaRegistros.Remove(i.listaRegistros[k]); eliminaCascada(baseDatos, i.nombre, aux); return; } }
private void eliminaCascadaLog(Diccionario baseDatos, string entidad, List<string> datos,User user) { List<string> aux = new List<string>(); Entidad enti = baseDatos.getEntByName(entidad); foreach (Entidad i in baseDatos.Entidades) if (i.nombre != entidad) for (int j = 0; j < i.Atributos.Count - 6; j++) if (i.atributos[j].ApuntaPrim == entidad) for (int l = 0; l < enti.atributos.Count; l++) if (enti.atributos[l].TClave == 1) for (int k = 0; k < enti.ListaRegistros.Count; k++) if (datos[l] == i.listaRegistros[k][j]) { i.ListaRegistros[k][i.ListaRegistros[k].Count - 5] = DateTime.Today.ToShortDateString(); i.ListaRegistros[k][i.ListaRegistros[k].Count - 2] = user.Nombre; eliminaCascadaLog(baseDatos, i.nombre, i.ListaRegistros[k], user); return; } }
private List<string> llenaCombo(string dirEnt,Diccionario dicc) { List<string> listaDatos = new List<string>(); //Obtener la entidad a la que apunta la direccion Entidad ent = dicc.getEntByName(dirEnt); foreach(List<string> i in ent.ListaRegistros) for(int j=0;j<ent.Atributos.Count;j++) if(ent.Atributos[j].TClave==1) listaDatos.Add(i[j]); return listaDatos; }