public void eliminarTodasLasFilas() { this.arbol = new ArbolBM(null); //Eliminar todo //Mostrar en pantalla resultado microSQL.Controllers.HomeController.tablaActual = new Models.TablaVista(this.nombreTabla, this.columnas, null); }
private Tabla(string nombre, List <string> tiposDeDatos, List <string> nombresColumnas, int llaveColumna, ArbolBM filas) { this.nombreTabla = nombre; this.tiposDeDatos = tiposDeDatos; this.columnas = nombresColumnas; this.indexLlave = llaveColumna; this.arbol = filas; }
public ActionResult exportarJSON() { if (tablaActual.nombreTabla != null && tablaActual.nombreTabla != "" && tablaActual.nombreTabla != "Nueva tabla" && tablaActual.nombreTabla != "Tabla Borrada") { Tabla exportar = tablas.Find(x => x.nombreTabla == tablaActual.nombreTabla); ArbolBM arbol = exportar.arbol; string[] columnas = exportar.columnas.ToArray(); Objeto[] objetos = arbol.ArbolALista(); exportar.GuardarJson(objetos, columnas); } return(RedirectToAction("Index")); }
public static void leerAchivoTablas() { //Eliminar tablas en controlador Controllers.HomeController.tablas.Clear(); //Resumen: Se leen todos los archivos de tablas y crea la lista en el controlador string carpetaTabla = System.Web.HttpContext.Current.Server.MapPath("~/microSQL/tablas"); string carpetaArbolB = System.Web.HttpContext.Current.Server.MapPath("~/microSQL/arbolesb"); //Se enlistan todos los archivos en la carpeta de tablas, se leen y definen las propiedades de un objeto tabla DirectoryInfo info = new DirectoryInfo(carpetaTabla); FileInfo[] listaArchivosEnCarpeta = info.GetFiles(); foreach (var archivo in listaArchivosEnCarpeta) { //Variables string nombreTabla; List <string> datos = new List <string>(); List <string> columnas = new List <string>(); List <string[]> filas = new List <string[]>(); string llave = ""; int indexLlave = 0; nombreTabla = archivo.Name.Replace(".tabla", ""); leerArchivoConfiguracionTabla(carpetaTabla + "/" + nombreTabla + ".tabla", ref datos, ref columnas, ref llave); leerArchivoArbolB(carpetaArbolB + "/" + nombreTabla + ".arbolb", ref filas); //Agregar filas al Arbol B+ indexLlave = columnas.FindIndex(x => x == llave); ArbolBM arbol = new ArbolBM(columnas.ToArray()); Objeto obj = new Objeto(columnas.Count, indexLlave); if (filas.Count > 0) { //Objeto[] objetos = arbol.ArbolALista(); agregarFilasAlArbol(obj, filas, indexLlave, ref arbol); } //Agregar tabla a lista //Controllers.HomeController.tablas.Add(new Tabla(nombreTabla, datos, columnas, llave, filas)); //To Do... Borrar Controllers.HomeController.tablas.Add(new Tabla(nombreTabla, datos, columnas, indexLlave, arbol)); } }
private static void agregarFilasAlArbol(Objeto config, List <string[]> filas, int indexLlave, ref ArbolBM arbol) { try { foreach (var array in filas) { config.elementos = array; config.id = Convert.ToInt32(array[indexLlave]); arbol.insertar(config); config = new Objeto(array.Length, indexLlave); } } catch (Exception) { microSQL.InterpreteSQL.error("Error al agregar"); throw; } }