//Añadir atributo private void button4_Click(object sender, EventArgs e) { //Verifica que existan entidades if (Archivo.DiccDatos == null) { MessageBox.Show("La lista de entidades está vacia"); } else { //Crea una instancia de la ventana para capturar las propiedades del nuevo atributo Nuevo_Atributo na = new Nuevo_Atributo(Archivo, false); var Resultado = na.ShowDialog(); //Cuando la ventana se cierra if (Resultado == DialogResult.OK) { //Crea una instancia de Atributo Atributo a = na.atributo; //Se le asigna direccion al nuevo atributo a.Direccion = currentDir; Entidad ent = na.destino; //Añade al atributo a la entidad correspondiente Archivo.DiccDatos[ent].Add(a); //Actualiza la Grid de Atributos Archivo.GuardarCambios(a); calcularDirecciones(); actualizarGridAtributo(ent); actualizarGridEntidad(); currentDir += 63; } } }
private void button3_Click(object sender, EventArgs e) { Entidad dueno = null; //Verifica que existan entidades if (Archivo.DiccDatos == null) { MessageBox.Show("La lista de entidades está vacia"); } else { //Crea una instancia de la ventana para modificar las propiedades del atributo Nuevo_Atributo na = new Nuevo_Atributo(Archivo, true); var Resultado = na.ShowDialog(); //Cuando la ventana se cierra if (Resultado == DialogResult.OK) { //Se busca la entidad a la cual pertenece el atributo que se modificara foreach (Entidad ent in Archivo.DiccDatos.Keys) { if (ent.Nombre == gridEntidad.SelectedCells[0].Value.ToString()) { dueno = ent; } } foreach (Atributo an in Archivo.DiccDatos[dueno]) { //Se modifican los valores de nombre y el tipo de indice, pero el tipo de dato y longitud se quedan como estaban if (an.Nombre == gridAtributos.SelectedCells[0].Value.ToString()) { an.Nombre = na.atributo.Nombre; an.TipoDato = na.atributo.TipoDato; an.Longitud = na.atributo.Longitud; an.iTipoIndice = na.atributo.iTipoIndice; Archivo.modificarAtributo(an); } } //Se actualiza el datagrid actualizarGridAtributo(dueno); } } }