//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"); } }
//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"); } }