private void registros_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { #region Registros if (this.archivo != null) { SeleccionEntidad seleccionEntidad; SeleccionRegistro seleccionRegistro; switch (e.ClickedItem.AccessibleName) { case "Alta": seleccionEntidad = new SeleccionEntidad(this.archivo); if (seleccionEntidad.ShowDialog().Equals(DialogResult.OK)) { AltaRegistro altaRegistro; altaRegistro = new AltaRegistro(this.archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam))); altaRegistro.obtenLllaves += new AltaRegistro.ObtenLlaves(this.obtenLllavesEntidad); if (altaRegistro.ShowDialog().Equals(DialogResult.OK)) { this.archivo.altaRegistro(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam), this.directorio, altaRegistro.Informacion); this.actualizaTodo(); } altaRegistro.Dispose(); } seleccionEntidad.Dispose(); break; case "AltaSQL": AltaRegistroSQL altaRegistroSQL; altaRegistroSQL = new AltaRegistroSQL(this.directorio); altaRegistroSQL.altaSQL += new AltaRegistroSQL.AltaSQL(this.archivo.altaSQl); altaRegistroSQL.ShowDialog(); this.actualizaTodo(); altaRegistroSQL.Dispose(); break; case "Modificar": seleccionEntidad = new SeleccionEntidad(this.archivo); if (seleccionEntidad.ShowDialog().Equals(DialogResult.OK)) { Entidad entidad; entidad = this.archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam)); seleccionRegistro = new SeleccionRegistro(entidad); if (seleccionRegistro.ShowDialog().Equals(DialogResult.OK)) { ModificaRegistro modificaRegistro; modificaRegistro = new ModificaRegistro(entidad, seleccionRegistro.ClaveDeBusqueda); modificaRegistro.obtenLllaves += new ModificaRegistro.ObtenLlaves(this.obtenLllavesEntidad); if (modificaRegistro.ShowDialog().Equals(DialogResult.OK)) { this.archivo.modificaRegistro(seleccionEntidad.Entidad, seleccionRegistro.ClaveDeBusqueda, modificaRegistro.InfoOriginal, modificaRegistro.Datos, this.directorio); this.actualizaTodo(); } } seleccionRegistro.Dispose(); } seleccionEntidad.Dispose(); break; case "Consulta Primario": seleccionEntidad = new SeleccionEntidad(this.archivo); if (seleccionEntidad.ShowDialog().Equals(DialogResult.OK)) { ConsultaRegistroPrimario consulta; Entidad entidad; entidad = this.archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam)); if (entidad.Valores.Count > 0) { consulta = new ConsultaRegistroPrimario(entidad); consulta.Show(); } else { MessageBox.Show("La entidad seleccionada no contiene registros", "Error"); } } break; case "Consultas SQL": ConsultasSQL sql; sql = new ConsultasSQL(); sql.consultaAtributosSelect += new ConsultasSQL.ConsultaAtributosSelect(this.archivo.ConsultaAtributosSelect); sql.consultaRegistrosSelectWhere += new ConsultasSQL.ConsultaRegistrosSelectWhere(this.archivo.ConsultaRegistrosSelectWhere); sql.innerJoin += new ConsultasSQL.InnerJoin(this.archivo.InnerJoin); sql.consultaAtributosSelectInnerJoin += new ConsultasSQL.ConsultaAtributosSelectInnerJoin(this.archivo.ConsultaAtributosSelectInnerJoin); sql.consultaRegistrosSelectAnd += new ConsultasSQL.ConsultaRegistrosSelectAnd(this.archivo.consultaRegistrosInnerJoinAnd); sql.Show(); break; case "Eliminar": seleccionEntidad = new SeleccionEntidad(this.archivo); if (seleccionEntidad.ShowDialog().Equals(DialogResult.OK)) { seleccionRegistro = new SeleccionRegistro(this.archivo.buscaEntidad(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam))); if (seleccionRegistro.ShowDialog().Equals(DialogResult.OK)) { this.archivo.eliminaRegistro(MetodosAuxiliares.ajustaCadena(seleccionEntidad.Entidad, Constantes.tam), seleccionRegistro.ClaveDeBusqueda, this.directorio); this.actualizaTodo(); } } seleccionEntidad.Dispose(); break; } } else { MessageBox.Show("Por favor abra una base de datos o cree", "Error"); } #endregion }
private void entidades_Clicked(object sender, ToolStripItemClickedEventArgs e) { #region Entidades if (this.archivo != null) { switch (e.ClickedItem.AccessibleName) { case "Alta": #region Alta AltaEntidad altaEntidad = new AltaEntidad(archivo.Nombre); if (altaEntidad.ShowDialog() == DialogResult.OK) { string nombre; nombre = MetodosAuxiliares.ajustaCadena(altaEntidad.Nombre, Constantes.tam); long dir; FileStream abierto; abierto = new FileStream(archivo.Nombre, FileMode.Append); //abre el archivo en un file stream dir = (long)abierto.Seek(0, SeekOrigin.End); //Calcula la direccion final del archivo y lo mete en un long abierto.Close(); //Cierra el file Stream archivo.altaEntidad(nombre, dir, -1, -1, -1); //Da de alta la entidad abierto = new FileStream(this.directorio + "\\" + altaEntidad.Nombre + ".dat", FileMode.Create); //Crea el archivo .dat de la entidad abierto.Close(); abierto = new FileStream(this.directorio + "\\" + altaEntidad.Nombre + ".idx", FileMode.Create); //Crea el archivo .idx de la entidad abierto.Close(); this.actualizaTodo(); //Actualiza todos los Data Grid } altaEntidad.Dispose(); //Eliminamos el objeto #endregion break; case "Modificar": if (this.archivo.Entidades.Count > 0) { #region Modificar ModificaEntidad modificaEntidad; modificaEntidad = new ModificaEntidad(this.archivo); if (modificaEntidad.ShowDialog().Equals(DialogResult.OK)) { string original; string nuevo; archivo.modificaEntidad(MetodosAuxiliares.ajustaCadena(modificaEntidad.Entidad, Constantes.tam), MetodosAuxiliares.ajustaCadena(modificaEntidad.Cambio, Constantes.tam)); original = this.directorio + "\\" + modificaEntidad.Entidad + ".dat"; nuevo = this.directorio + "\\" + modificaEntidad.Cambio + ".dat"; File.Move(original, nuevo); original = this.directorio + "\\" + modificaEntidad.Entidad + ".idx"; nuevo = this.directorio + "\\" + modificaEntidad.Cambio + ".idx"; File.Move(original, nuevo); this.actualizaTodo(); } modificaEntidad.Dispose(); #endregion } break; case "Consulta": if (this.archivo.Entidades.Count > 0) { #region Consulta ConsultaEntidad consultaEntidad; consultaEntidad = new ConsultaEntidad(this.archivo); consultaEntidad.ShowDialog(); consultaEntidad.Dispose(); #endregion } break; case "Eliminar": if (this.archivo.Entidades.Count > 0) { #region Eliminar SeleccionEntidad eliminaEntidad; eliminaEntidad = new SeleccionEntidad(this.archivo); if (eliminaEntidad.ShowDialog().Equals(DialogResult.OK)) { string nombreAuxiliar; nombreAuxiliar = this.directorio + "\\" + eliminaEntidad.Entidad; archivo.eliminaEntidad(MetodosAuxiliares.ajustaCadena(eliminaEntidad.Entidad, Constantes.tam), nombreAuxiliar); actualizaTodo(); } eliminaEntidad.Dispose(); #endregion } break; default: MessageBox.Show("Opción incorrecta o no implementada", "Atención"); break; } } else { MessageBox.Show("Por favor abra una base de datos", "Error"); } #endregion }