Beispiel #1
0
 //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();
 }
Beispiel #2
0
        /**
         * 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
        }