/// <summary> /// .****************************************************************************************************************************************** /// </summary> //Método que obtiene la información de cada tabla que está en la carpeta de ~MicroSQL/Tablas public void ObtenerTablas() { TablasMostrar.Clear(); ContenidoMostrar.Clear(); PropiedadesMostrar.Clear(); //Limpia el diccionario que contiene la info de las tablas ContenidoTablas.Clear(); //Lista que contiene las direcciones de cada archivo tabla para poder leer los archivos que están en la carpeta List <string> direccionesArchivo = new List <string>(); //Obtiene todos los archivos de la carpeta var ubicacion = Directory.GetFiles(Data.Instancia.PathDirectorio + "\\Tablas"); foreach (var path in ubicacion) { direccionesArchivo.Add(path); } if (direccionesArchivo.Count != 0) { foreach (var nombre in direccionesArchivo) { var texto = File.ReadAllText(nombre); if (!texto.IsNullOrWhiteSpace()) { var lineas = File.ReadAllLines(nombre); var listaColumnas = new Dictionary <string, string>(); var nombreTabla = Path.GetFileName(nombre).Split('.')[0]; ContenidoTablas.Add(nombreTabla, listaColumnas); foreach (var linea in lineas) { var campoLinea = linea.Split(','); ContenidoTablas[nombreTabla].Add(campoLinea[0], campoLinea[1]); } } } } }
public bool SeleccionarDe(List <string> contenidoSeleccionar, ref List <string> PropiedadMostrar) { TablasMostrar.Clear(); ContenidoMostrar.Clear(); PropiedadesMostrar.Clear(); var listaDatos = new List <Registro>(); var con = contenidoSeleccionar.Count; var nombreTabla = ""; var path = ""; if (ContenidoTablas.ContainsKey(contenidoSeleccionar[con - 1])) { nombreTabla = contenidoSeleccionar[con - 1]; contenidoSeleccionar.RemoveAt(con - 1); //SE ELIMINA EL NOMBRE DE LA TABLA DE LA LISTA if (contenidoSeleccionar[0] == "*") { path = ""; path = Data.Instancia.PathDirectorio + "\\ArbolesB\\" + nombreTabla + ".arbolB"; Data.Instancia.TreeResgitro = new ArbolB <Registro>(4, path, new FabricaRegistro()); foreach (var item in Data.Instancia.TreeResgitro.RecorrerPreOrden()) { var fabricar = new FabricaRegistro(); var registro = fabricar.FabricarObtenido(item); listaDatos.Add(registro); } ContenidoMostrar = listaDatos; foreach (var prop in ContenidoTablas[nombreTabla].Keys) { PropiedadMostrar.Add(prop); } TablasMostrar.Add(nombreTabla); Data.Instancia.TreeResgitro.Cerrar(); } else { path = ""; path = Data.Instancia.PathDirectorio + "\\ArbolesB\\" + nombreTabla + ".arbolB"; Data.Instancia.TreeResgitro = new ArbolB <Registro>(4, path, new FabricaRegistro()); foreach (var item in Data.Instancia.TreeResgitro.RecorrerPreOrden()) { var fabricar = new FabricaRegistro(); var registro = fabricar.FabricarObtenido(item); listaDatos.Add(registro); } foreach (var paraMostrar in contenidoSeleccionar) { PropiedadMostrar.Add(paraMostrar); } ContenidoMostrar = listaDatos; TablasMostrar.Add(nombreTabla); Data.Instancia.TreeResgitro.Cerrar(); } } else if (Int32.TryParse(contenidoSeleccionar[con - 1], out int result) && ContenidoTablas.ContainsKey(contenidoSeleccionar[con - 2])) { var llave = result.ToString(); contenidoSeleccionar.RemoveAt(con - 1); con = contenidoSeleccionar.Count; nombreTabla = contenidoSeleccionar[con - 1]; contenidoSeleccionar.RemoveAt(con - 1); //CONTENIDO PUEDE HABER * if (contenidoSeleccionar[0] == "*") { path = ""; path = Data.Instancia.PathDirectorio + "\\ArbolesB\\" + nombreTabla + ".arbolB"; Data.Instancia.TreeResgitro = new ArbolB <Registro>(4, path, new FabricaRegistro()); var objeto = Data.Instancia.TreeResgitro.Obtener(llave); var fabricarObj = new FabricaRegistro(); var registro = fabricarObj.FabricarObtenido(objeto.ToString()); listaDatos.Add(registro); ContenidoMostrar = listaDatos; foreach (var prop in ContenidoTablas[nombreTabla].Keys) { PropiedadMostrar.Add(prop); } TablasMostrar.Add(nombreTabla); Data.Instancia.TreeResgitro.Cerrar(); } else { path = ""; path = Data.Instancia.PathDirectorio + "\\ArbolesB\\" + nombreTabla + ".arbolB"; Data.Instancia.TreeResgitro = new ArbolB <Registro>(4, path, new FabricaRegistro()); var objeto = Data.Instancia.TreeResgitro.Obtener(llave); var fabricarObj = new FabricaRegistro(); var registro = fabricarObj.FabricarObtenido(objeto.ToString()); listaDatos.Add(registro); foreach (var prop in contenidoSeleccionar) { PropiedadesMostrar.Add(prop); } ContenidoMostrar = listaDatos; TablasMostrar.Add(nombreTabla); Data.Instancia.TreeResgitro.Cerrar(); } } else { Data.Instancia.TreeResgitro.Cerrar(); //TABLA NO EXISTE } return(EjecucionCorrecta); }