static void GuardarEmpresa()
        {
            Console.WriteLine("Nombre de la empresa: ");
            string nombre = Console.ReadLine();

            Console.WriteLine("Rut de la empresa: ");
            string  rut     = Console.ReadLine();
            Empresa empresa = new Empresa(nombre, rut);
            List <List <string> > personasAsignar = new List <List <string> >();

            personasAsignar.Add(new List <string>(new string[] { "Rodrigo", "Guzman", "20.164.752-5" }));
            personasAsignar.Add(new List <string>(new string[] { "Pedro", "Perez", "13.421.376-3" }));
            personasAsignar.Add(new List <string>(new string[] { "Javier", "Gonzales", "9.462.204-5" }));
            personasAsignar.Add(new List <string>(new string[] { "Sofia", "Soto", "18.638.097-k" }));
            personasAsignar.Add(new List <string>(new string[] { "Javiera", "Opazo", "19.954.285-k" }));
            personasAsignar.Add(new List <string>(new string[] { "Felipe", "Alcalde", "21.488.213-8" }));
            personasAsignar.Add(new List <string>(new string[] { "Maximiliano", "Gross", "17.841.552-4" }));
            personasAsignar.Add(new List <string>(new string[] { "Nicolas", "Vial", "11.245.899-3" }));

            Random rnd = new Random();

            for (int i = 0; i < 4; i++)
            {
                int numero = rnd.Next(0, personasAsignar.Count);
                if (i == 0)
                {
                    Departamento departamento = new Departamento("Departamento 1", new Persona(personasAsignar[numero][0], personasAsignar[numero][1], personasAsignar[numero][2], "Jefe de Departamento")); empresa.divisiones.Add(departamento); personasAsignar.RemoveAt(numero);
                }
                if (i == 1)
                {
                    Seccion seccion = new Seccion("Seccion 1", new Persona(personasAsignar[numero][0], personasAsignar[numero][1], personasAsignar[numero][2], "Jefe de Seccion")); empresa.divisiones.Add(seccion); personasAsignar.RemoveAt(numero);
                }
                if (i == 2 || i == 3)
                {
                    Bloque bloque = new Bloque("Bloque " + (i - 1), new Persona(personasAsignar[numero][0], personasAsignar[numero][1], personasAsignar[numero][2], "Jefe de Bloque")); personasAsignar.RemoveAt(numero);
                    numero = rnd.Next(0, personasAsignar.Count); bloque.personal.Add(new Persona(personasAsignar[numero][0], personasAsignar[numero][1], personasAsignar[numero][2], "Personal")); personasAsignar.RemoveAt(numero);
                    numero = rnd.Next(0, personasAsignar.Count); bloque.personal.Add(new Persona(personasAsignar[numero][0], personasAsignar[numero][1], personasAsignar[numero][2], "Personal")); personasAsignar.RemoveAt(numero);
                    empresa.divisiones.Add(bloque);
                }
            }
            IFormatter formatter = new BinaryFormatter();
            Stream     stream    = new FileStream("empresa.bin", FileMode.Create, FileAccess.Write, FileShare.None);

            formatter.Serialize(stream, empresa);
            stream.Close();
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Desea utilizar el archivo para cargar la informacion de la empresa?");
            Console.WriteLine("1. Si");
            Console.WriteLine("2. No");
            string respuesta = Console.ReadLine();

            Console.Clear();

            Empresa empresa = null;

            if (respuesta == "1")
            {
                try
                {
                    empresa = Empresa.Load();
                }

                catch
                {
                    Console.WriteLine("No hay informacion guardada para cargar");
                    Thread.Sleep(2000);
                    Console.Clear();
                    respuesta = "2";
                }
            }

            if (respuesta == "2")
            {
                Console.WriteLine("Ingrese el nombre de la empresa:");
                string Nombre = Console.ReadLine();
                Console.WriteLine("Ingrese el rut de la empresa");
                string Rut = Console.ReadLine();
                empresa = new Empresa(Nombre, Rut);

                //Creamos los datos para la empresa (1 departamento con 1 encargado, 1 seccion con 1 encargado, 2 bloques con 1 encargado y 2 trabajadores cada uno)

                Departamento departamento = new Departamento("Produccion");
                departamento.encargado = new Persona("Marcos", "Plaza", "8499564-9", "Director");

                Seccion seccion = new Seccion("Ensamblaje");
                seccion.encargado = new Persona("Fabian", "Casal", "14555241-9", "Supervisor");

                Bloque bloque1 = new Bloque("Armadores");
                bloque1.encargado = new Persona("Angel", "Fonseca", "7877346-4", "Encargado");
                bloque1.trabajadores.Add(new Persona("Antonia", "Fuente", "5954871-9", "Armador1"));
                bloque1.trabajadores.Add(new Persona("Andres", "Pinto", "6773308-8", "Armador2"));

                Bloque bloque2 = new Bloque("Testers");
                bloque2.encargado = new Persona("Stefan", "Pichara", "13040056-6", "Encargado");
                bloque2.trabajadores.Add(new Persona("Paco", "Bellido", "12830816-4", "Tester1"));
                bloque2.trabajadores.Add(new Persona("Elena", "Moyano", "8323222-6", "Tester2"));

                //Agregamos cada seccion a la lista de la clase superior respectiva
                seccion.bloques.Add(bloque1);
                seccion.bloques.Add(bloque1);

                departamento.secciones.Add(seccion);

                empresa.divisiones.Add(departamento);
                empresa.divisiones.Add(seccion);
                empresa.divisiones.Add(bloque1);
                empresa.divisiones.Add(bloque2);

                Empresa.Save(empresa);
            }

            empresa.Info();

            Console.ReadLine();
        }
        public static void Main()
        {
            bool value = false;

            while (!value)
            {
                Console.WriteLine("1- Si desea utilizar un archivo para cargar la informacion de su empresa 2- Ingresar datos manuales de mi empresa  3-Salir");
                string opcion = Console.ReadLine();



                switch (opcion)
                {
                case "1":
                    try
                    {
                        Console.WriteLine("Leyendo empresa.bin");
                        Empresa.Deserializar("empresa.bin").Empresainformacion();
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("No se encontro la empresa, se solicitara de forma manual");
                        Console.WriteLine("Escriba el nombre de la empresa");
                        string nombre1 = Console.ReadLine();
                        Console.WriteLine("Escriba el rut de la empresa");
                        int     rut1     = Convert.ToInt32(Console.ReadLine());
                        Empresa empresa1 = new Empresa(nombre1, rut1);

                        Area area1 = new Area("Economia");
                        area1.Personaencargada = new Persona("Juan", "Perez", 193242006, "Gerente");
                        area1.Listadepersonas.Add(new Persona("Ivan", "Santivanez", 19078504, "Consejero"));



                        Departamento departamento1 = new Departamento("Cuentas nacionales");
                        departamento1.Personaencargada = new Persona("Diana", "Lopez", 14572216, "Jefe");
                        departamento1.Listadepersonas.Add(new Persona("Pamela", "Vela", 14485792, "Senior"));

                        area1.Departamentos.Add(departamento1);

                        Seccion seccion1 = new Seccion("Gobierno");
                        seccion1.Personaencargada = new Persona("Agustin", "Fernandez", 19322466, "Jefe");
                        seccion1.Listadepersonas.Add(new Persona("James", "Mcgil", 14078905, "Coordinador"));

                        departamento1.Secciones.Add(seccion1);

                        Bloque bloque11 = new Bloque("Gobierno municipal");
                        bloque11.Personaencargada = new Persona("Diego", "Aviles", 145728, "Ayudante");
                        bloque11.Listadepersonas.Add(new Persona("Saul", "Godmas", 1234565, "Digitador"));

                        Bloque bloque22 = new Bloque("Gobierno general");
                        bloque22.Personaencargada = new Persona("Javier", "Gonzalez", 1324458, "Ayudante");
                        bloque22.Listadepersonas.Add(new Persona("Kim", "Waxler", 1234565, "Digitador"));

                        seccion1.Bloques.Add(bloque11);
                        seccion1.Bloques.Add(bloque22);

                        empresa1.Divisiones.Add(area1);
                        empresa1.Divisiones.Add(departamento1);
                        empresa1.Divisiones.Add(seccion1);
                        empresa1.Divisiones.Add(bloque11);
                        empresa1.Divisiones.Add(bloque22);

                        Empresa.Serializar("empresa.bin", empresa1);
                        empresa1.Empresainformacion();
                    }


                    break;

                case "2":

                    Console.WriteLine("Escriba el nombre de la empresa");
                    string nombre = Console.ReadLine();
                    Console.WriteLine("Escriba el rut de la empresa");
                    int     rut     = Convert.ToInt32(Console.ReadLine());
                    Empresa empresa = new Empresa(nombre, rut);

                    Area area = new Area("Economia");
                    area.Personaencargada = new Persona("Juan", "Perez", 193242006, "Gerente");
                    area.Listadepersonas.Add(new Persona("Ivan", "Santivanez", 19078504, "Consejero"));



                    Departamento departamento = new Departamento("Cuentas nacionales");
                    departamento.Personaencargada = new Persona("Diana", "Lopez", 14572216, "Jefe");
                    departamento.Listadepersonas.Add(new Persona("Pamela", "Vela", 14485792, "Senior"));

                    area.Departamentos.Add(departamento);

                    Seccion seccion = new Seccion("Gobierno");
                    seccion.Personaencargada = new Persona("Agustin", "Fernandez", 19322466, "Jefe");
                    seccion.Listadepersonas.Add(new Persona("James", "Mcgil", 14078905, "Coordinador"));

                    departamento.Secciones.Add(seccion);

                    Bloque bloque1 = new Bloque("Gobierno municipal");
                    bloque1.Personaencargada = new Persona("Diego", "Aviles", 145728, "Ayudante");
                    bloque1.Listadepersonas.Add(new Persona("Saul", "Godmas", 1234565, "Digitador"));

                    Bloque bloque2 = new Bloque("Gobierno general");
                    bloque2.Personaencargada = new Persona("Javier", "Gonzalez", 1324458, "Ayudante");
                    bloque2.Listadepersonas.Add(new Persona("Kim", "Waxler", 1234565, "Digitador"));

                    seccion.Bloques.Add(bloque1);
                    seccion.Bloques.Add(bloque2);

                    empresa.Divisiones.Add(area);
                    empresa.Divisiones.Add(departamento);
                    empresa.Divisiones.Add(seccion);
                    empresa.Divisiones.Add(bloque1);
                    empresa.Divisiones.Add(bloque2);

                    Empresa.Serializar("empresa.bin", empresa);
                    empresa.Empresainformacion();

                    break;

                case "3":
                    value = true;
                    break;
                }
            }
        }