예제 #1
0
파일: Tabla.cs 프로젝트: Jocagi/microSQL
        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);
        }
예제 #2
0
파일: Tabla.cs 프로젝트: Jocagi/microSQL
 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;
 }
예제 #3
0
        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"));
        }
예제 #4
0
파일: Tabla.cs 프로젝트: Jocagi/microSQL
        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));
            }
        }
예제 #5
0
파일: Tabla.cs 프로젝트: Jocagi/microSQL
        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;
            }
        }