コード例 #1
0
ファイル: Entidad.cs プロジェクト: miguee90/DataBase
        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;
                                        }

        }
コード例 #2
0
ファイル: Entidad.cs プロジェクト: miguee90/DataBase
        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;
                                        }

        }
コード例 #3
0
ファイル: GetDatos.cs プロジェクト: miguee90/DataBase
        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;
            
        }