public static void Crear_archivo(List <Empresa> empresa)
        {
            Console.WriteLine("Ingrese nombre de la empresa: ");
            string nombre = Console.ReadLine();

            Console.WriteLine("Ingrese RUT de la empresa: ");
            string rut = Console.ReadLine();

            empresa.Add(new Empresa(nombre, rut));
            Division     division1 = new Division("division1", new Persona("Camilo", "Henriquez", "345", "Encargado"));
            Area         area1     = new Area("Area1", new Persona("Vicente", "Lira", "465", "Encargado"));
            Departamento depto1    = new Departamento("Depto1", new Persona("Javiera", "Henriquez", "384", "Encargado"));
            Seccion      seccion1  = new Seccion("Seccion1", new Persona("Patricio", "Villalobos", "984", "Encargado"));
            Bloque       bloque1   = new Bloque("bloque1", new Persona("nombre1", "apellido1", "674", "Encargado1"));
            Bloque       bloque2   = new Bloque("bloque2", new Persona("nombre2", "apellido2", "774", "Encargado2"));

            seccion1.bloques.Add(bloque1);
            seccion1.bloques.Add(bloque2);
            depto1.secciones.Add(seccion1);
            area1.departamento.Add(depto1);
            division1.area.Add(area1);

            IFormatter formatter = new BinaryFormatter();
            Stream     stream    = new FileStream("empresa.bin", FileMode.Create, FileAccess.Write, FileShare.None);

            formatter.Serialize(stream, empresa);
            stream.Close();
        }
        public static void Main(string[] args)

        {
            Persona      persona1  = new Persona("Camila", "Villalobos", "123", "Jefe");
            Persona      persona3  = new Persona("nombre3", "apellido3", "634", "Empleado");
            Empresa      empresa1  = new Empresa("Empresa1", "1");
            Division     division1 = new Division("division1", new Persona("Camilo", "Henriquez", "345", "Encargado"));
            Area         area1     = new Area("Area1", new Persona("Vicente", "Lira", "465", "Encargado"));
            Departamento depto1    = new Departamento("Depto1", new Persona("Javiera", "Henriquez", "384", "Encargado"));
            Seccion      seccion1  = new Seccion("Seccion1", new Persona("Patricio", "Villalobos", "984", "Encargado"));
            Bloque       bloque1   = new Bloque("bloque1", new Persona("nombre1", "apellido1", "674", "Empleado"));
            Bloque       bloque2   = new Bloque("bloque2", new Persona("nombre2", "apellido2", "774", "Empleado"));

            bloque1.Personal.Add(persona1);
            bloque2.Personal.Add(persona3);
            seccion1.bloques.Add(bloque1);
            seccion1.bloques.Add(bloque2);
            depto1.secciones.Add(seccion1);
            area1.departamento.Add(depto1);
            division1.area.Add(area1);
            empresa1.division.Add(division1);
            List <Empresa> empresa = new List <Empresa>();

            empresa.Add(empresa1);
            bloque1.Personal.Add(persona1);

            Console.WriteLine("1. Entrar \n2. Salir");
            int respuesta = Convert.ToInt32(Console.ReadLine());

            while (respuesta == 1)
            {
                Console.WriteLine("1. Crear empresa \n2. Subir empresa \n3. Mostrar empresas \n4. Guardar informacion \n0. Salir");
                int opcion = Convert.ToInt32(Console.ReadLine());

                if (opcion == 1)
                {
                    Crear_archivo(empresa);
                }
                else if (opcion == 2)
                {
                    Console.WriteLine("Ingrese nombre del archivo: ");
                    string fileName = Console.ReadLine();

                    try
                    {
                        Console.WriteLine("Abriendo archivo");
                        IFormatter     formatter = new BinaryFormatter();
                        Stream         stream    = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
                        List <Empresa> empresas  = (List <Empresa>)formatter.Deserialize(stream);
                        Console.WriteLine("Cerrando archivo. Se abrio correctamente");
                        stream.Close();
                    }
                    catch (FileNotFoundException e)
                    {
                        Console.WriteLine("No pudimos abrir el archivo");
                        Console.WriteLine(e.Message);
                        Crear_archivo(empresa);
                    }
                }
                else if (opcion == 3)
                {
                    foreach (var item in empresa)
                    {
                        Console.WriteLine("Nombre: " + item.Nombre);
                    }

                    foreach (var item in empresa)
                    {
                        foreach (var item1 in empresa1.division)
                        {
                            Console.WriteLine("Division" + division1.Nombre_Division + "Encargado" + division1.Encargado_Division);
                        }

                        foreach (var item2 in division1.area)
                        {
                            Console.WriteLine("Area" + area1.Nombre_Area + "Encargado" + area1.Encargado_Area);
                        }
                        foreach (var item3 in area1.departamento)
                        {
                            Console.WriteLine("Departamento" + depto1.Nombre_Departamento + "Encargado" + depto1.Encargado_Depto);
                        }
                        foreach (var item4 in depto1.secciones)
                        {
                            Console.WriteLine("Seccion" + seccion1.Nombre_Seccion + "Encargado" + seccion1.Encargado_Seccion);
                        }
                        foreach (var item5 in seccion1.bloques)
                        {
                            Console.WriteLine("Bloque" + bloque1.Nombre_Bloque + "Encargado" + bloque1.Encargado_Bloque);
                        }
                    }
                }
                else if (opcion == 4)
                {
                    IFormatter formatter = new BinaryFormatter();
                    Stream     stream    = new FileStream("empresa.bin", FileMode.Create, FileAccess.Write, FileShare.None);
                    formatter.Serialize(stream, empresa);
                    stream.Close();
                }
                else if (opcion == 0)
                {
                    break;
                }
            }
        }