//Método que agrega los datos al datagridview de entidades public void AgregaFila() { //Se limpia el DatGrid de entidades DGEntidad.Rows.Clear(); //Ciclo para acceder a los datos de la lista y mostrarlos en el DataGrid foreach (Entidad entidad in LEntidades) { DGEntidad.Rows.Add(entidad.NE, entidad.DE, entidad.DA, entidad.DD, entidad.DSE); } //Se limpia el textbox en donde se escribe el nombre de la nueva entidad EntNueva.Clear(); }
/** * Se agrega una entidad nueva al archivo y a la lista * Se valida que el nombre de la entidad no sea mayor a 30 caracteres * Se valida que el textbox no este vacio **/ private void AgregaEnt_Click(object sender, EventArgs e) { //Se abre el archivo seleccionado fs = File.Open(NomArch, FileMode.Open, FileAccess.ReadWrite); int tam = LEntidades.Count; //Auxiliar para el tamaño de la lista de entidades TamArch = fs.Length; //Auxiliar que guarda el tamaño del archivo Nom = EntNueva.Text; //Auxiliar que guarda el nombre de la nueva entidad if (Nom != " " || Nom != "") //Se valida que el nombre sea diferente de una cadena vacía { char[] aux = EntNueva.Text.ToCharArray(); if (aux.Length <= 30) //Condición para saber si el nombre es menor o igual a 30 caracteres { if (LEntidades.Count == 0) //Condición para saber si la lista está vacia { cabecera = 8; //Se iguala la cabecera a 8 fs.Seek(0, SeekOrigin.Begin); //Se posiciona al inicio del archivo bw = new BinaryWriter(fs); //Se crea un BinaryWriter bw.Write(cabecera); //Se escribe la cabecera al archivo //Se crea una nueva entidad entidad = new Entidad(Nom, TamArch, -1, -1, -1); entidad.AgregaEspacio(); //Se convierte el nombre de la entidad a arreglo de char LEntidades.Add(entidad); //Se agrega la nueva entidad a la lista entidad.Guardar(bw); //Se escribe la entidad en el archivo } else { //Se crea una nueva entidad y se agrega a la lista entidad = new Entidad(Nom, TamArch, -1, -1, -1); bool NDif = NombreDif(Nom); if (NDif == true) { entidad.AgregaEspacio(); //Se convierte el nombre de la entidad a arreglo de char LEntidades.Add(entidad); //Se agrega la nueva entidad a la lista fs.Seek(TamArch, SeekOrigin.Begin); //Se posiciona al final del archivo bw = new BinaryWriter(fs); //se crea un BinaryWriter //Se escribe la nueva entidad al archivo entidad.Guardar(bw); } else { MessageBox.Show("No puede haber dos entidades con el mismo nombre"); } } AgregaFila(); //Se agregan los valores al DataGrid de entidades fs.Close(); //Se cierra el archivo Actualiza(); } else { MessageBox.Show("El nombre de la entidad no debe superar los 30 caracteres"); } } else { MessageBox.Show("Escribe el nombre de la nueva entidad"); } //Se muestra el valor de la cabecera en un label cab.Text = cabecera.ToString(); EntNueva.Clear(); //Se limpia el textbox donde se escribe el nombre de la nnueva entidad }