示例#1
0
        //Boton para la modificacion del nombre de la entidad
        private void button2_Click(object sender, EventArgs e)
        {
            bool existe = false;

            foreach (Entidad ent in Archivo.DiccDatos.Keys)
            {
                if (ent.Nombre == txtEntidad.Text)
                {
                    existe = true;
                }
            }
            if (!existe)
            {
                Entidad ent = Archivo.BuscarEntidad(gridEntidad.SelectedCells[0].Value.ToString());
                Entidad aux = new Entidad(txtEntidad.Text, ent.Direccion, ent.DireccionAtr, ent.DireccionDatos, -1);
                Archivo.DiccDatos.Remove(ent);
                long            dirAux  = ent.DireccionAtr;
                List <Atributo> agregar = new List <Atributo>();
                while (dirAux >= 0)
                {
                    Atributo auxiliar = Archivo.LeerAtributo(dirAux);
                    agregar.Add(auxiliar);
                    dirAux = auxiliar.DirSigAtributo;
                }
                Archivo.DiccDatos.Add(aux, agregar);
                calcularDirecciones();
                actualizarGridEntidad();
            }
            else
            {
                MessageBox.Show("Ya existe una entidad con ese nombre");
            }
        }
示例#2
0
        //Boton para la modificacion del nombre de la entidad
        private void button2_Click(object sender, EventArgs e)
        {
            //Primero se confirma que el nombre de la entidad no exista en otra entidad
            bool existe = false;

            foreach (Entidad ent in Archivo.DiccDatos.Keys)
            {
                if (ent.Nombre == txtEntidad.Text)
                {
                    existe = true;
                }
            }
            if (!existe)
            {
                //Se hace un respaldo de la informacion de la entidad y se borra para crear una igual con nombre diferente
                Entidad ent = Archivo.BuscarEntidad(gridEntidad.SelectedCells[0].Value.ToString());
                Entidad aux = new Entidad(txtEntidad.Text, ent.Direccion, ent.DireccionAtr, ent.DireccionDatos, -1);
                Archivo.DiccDatos.Remove(ent);
                long            dirAux  = ent.DireccionAtr;
                List <Atributo> agregar = new List <Atributo>();
                //Se enlaza la lista de atributos de la vieja entidad a la nueva entidad para que esta la reemplace.
                while (dirAux >= 0)
                {
                    Atributo auxiliar = Archivo.LeerAtributo(dirAux);
                    agregar.Add(auxiliar);
                    dirAux = auxiliar.DirSigAtributo;
                }
                //Se actualiza la tabla y se sobreescriben los datos.
                Archivo.DiccDatos.Add(aux, agregar);
                calcularDirecciones();
                actualizarGridEntidad();
            }
            else
            {
                MessageBox.Show("Ya existe una entidad con ese nombre");
            }
        }