private static void CreateEmpresa() { bool succes = false; int rut = 0; while (!succes) { Console.WriteLine("Ingrese el rut de la empresa sin puntos ni guion:\n"); try { rut = int.Parse(Console.ReadLine()); succes = true; } catch (FormatException) { Console.WriteLine("Formato invalido, intente nuevamente\n"); } } Console.WriteLine("Ingrese el nombre de la empresa:\n"); string name = Console.ReadLine(); Empresa empresa = new Empresa(name, rut); Departamento departamento = CreateDepartment(); Seccion seccion = CreateSeccion(); Bloque bloque = CreateBloque(); Bloque bloque1 = CreateBloque(); seccion.Bloques.Add(bloque); seccion.Bloques.Add(bloque1); departamento.Seccions.Add(seccion); empresa.Divisiones1.Add(departamento); Serialize(empresa, "empresa.bin"); }
private static Bloque CreateBloque() { Console.WriteLine("Ingrese el nombre de un bloque de la empresa: \n"); string blockName = Console.ReadLine(); Console.WriteLine("Ingrese los datos del jefe del bloque:\n"); Bloque block = new Bloque(blockName, CreatePersona()); for (int j = 0; j < 2; j++) { Console.WriteLine("Ingrese los datos de una persona que trabajara en el bloque: \n"); block.Personas.Add(CreatePersona()); } return(block); }
public static void serialisar(Empresa gg, Personas yo) { Console.WriteLine("Ingresa el nombre de la empresa"); string nom = Console.ReadLine(); Console.WriteLine("Ingresa el rut de la empresa"); string run = Console.ReadLine(); gg.nombre(nom); gg.RUT(run); Empresa k = new Empresa(nom, run); gg.Añadirempresa(k); IFormatter formatter = new BinaryFormatter(); List <Personas> vacio = new List <Personas>(); List <Personas> vacio2 = new List <Personas>(); List <Personas> vacio3 = new List <Personas>(); List <Personas> vacio4 = new List <Personas>(); List <Personas> vacio5 = new List <Personas>(); List <Personas> vacio6 = new List <Personas>(); Console.WriteLine("ingrese el nombre del area "); string area = Console.ReadLine(); Area A = new Area("Area: " + area, vacio); gg.DivisionesDeLaEmpresa.Add(A); Console.Clear(); Console.WriteLine("ingrese el nombre del departamento"); string dep = Console.ReadLine(); Departamento B = new Departamento("Departamento: " + dep, vacio2); Console.WriteLine("ingrese al encargado del departamento"); Personas encargadodep = yo.crear_Persona(); B.People.Add(encargadodep); gg.DivisionesDeLaEmpresa.Add(B); Console.Clear(); Console.WriteLine("ingrese el nombre de la seccion"); string secc = Console.ReadLine(); Seccion C = new Seccion("Seccion: " + secc, vacio3); Console.WriteLine("ingrese al encargado de esta seccion"); Personas encargadosecc = yo.crear_Persona(); C.People.Add(encargadosecc); gg.DivisionesDeLaEmpresa.Add(C); Console.Clear(); Console.WriteLine("ingrese el nombre del bloque 1"); string blok1 = Console.ReadLine(); Bloque D = new Bloque("Bloque 1: " + blok1, vacio4); Console.WriteLine("ingrese a los trabajadores del blocke 1"); bool seguir = true; while (seguir) { Personas encargadoblock1 = yo.crear_Persona(); D.People.Add(encargadoblock1); string resp = ""; while (resp != "SI" && resp != "NO" && resp != "si" && resp != "no") { Console.WriteLine("quiere agregar otro empleado? (si/no)"); resp = Console.ReadLine(); if (resp == "no" || resp == "NO") { seguir = false; } } } gg.DivisionesDeLaEmpresa.Add(D); Console.Clear(); Console.WriteLine("ingrese el nombre del bloque 2"); string bloc2 = Console.ReadLine(); Bloque E = new Bloque("Bloque 2: " + bloc2, vacio5); Console.WriteLine("ingrese a los trabajadores del blocke 2"); seguir = true; while (seguir) { Personas encargadoblock2 = yo.crear_Persona(); E.People.Add(encargadoblock2); string resp = ""; while (resp != "SI" && resp != "NO" && resp != "si" && resp != "no") { Console.WriteLine("quiere agregar otro empleado? (si/no)"); resp = Console.ReadLine(); if (resp == "no" || resp == "NO") { seguir = false; } } } gg.DivisionesDeLaEmpresa.Add(E); Console.Clear(); Stream stream = new FileStream("empresas.bin", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, gg.Get_Empresas().Count()); for (int i = 0; i < gg.Get_Empresas().Count(); i++) { formatter.Serialize(stream, gg.Get_Empresas()[i]); } formatter.Serialize(stream, gg.DivisionesDeLaEmpresa.Count()); for (int i = 0; i < gg.DivisionesDeLaEmpresa.Count(); i++) { formatter.Serialize(stream, gg.DivisionesDeLaEmpresa[i]); } stream.Close(); }
static void Main(string[] args) { List <Empresa> empresas = new List <Empresa>(); bool n = true; while (n) { Console.WriteLine("¿Quiere utilizar un archivo para cargar la información de la empresa?: \n (1) Sí \n (2) No \n (3) Cerrar programa"); int option = int.Parse(Console.ReadLine()); if (option == 1) { try { empresas = LoadE(); foreach (Empresa t in empresas) { Console.WriteLine(t.ToString()); } } catch (FileNotFoundException exp) { Console.WriteLine("No se encontró el archivo, se creará uno nuevo."); Console.WriteLine(exp.Message); Console.WriteLine("Escriba los datos de la empresa"); Console.Write("Nombre: "); string name = Console.ReadLine(); Console.Write("Rut: "); string rut = Console.ReadLine(); Empresa e = new Empresa(name, rut); Persona Edepartamento = new Persona("A", "A", "19.639.828-5", "Encargado Departamento"); Persona Eseccion = new Persona("B", "B", "19.689.587-8", "Encargado Sección"); Persona Ebloque1 = new Persona("C", "C", "20.881.887-4", "Encargado Bloque"); Persona Ebloque2 = new Persona("D", "D", "11.833.498-K", "Encargado Bloque"); Persona persona1 = new Persona("E", "E", "12.232.498-4", "Trabajador"); Persona persona2 = new Persona("F", "F", "8.107.074-3", "Trabajador"); Persona persona3 = new Persona("G", "G", "19.685.827-1", "Trabajador"); Persona persona4 = new Persona("H", "H", "20.463.389-4", "Trabajador"); List <Bloque> bloques = new List <Bloque>(); List <Seccion> secciones = new List <Seccion>(); List <Persona> personas1 = new List <Persona>(); List <Persona> personas2 = new List <Persona>(); Bloque bloque1 = new Bloque(personas1, "Bloque 1", Ebloque1, "Bloque"); Bloque bloque2 = new Bloque(personas2, "Bloque 2", Ebloque2, "Bloque"); Seccion seccion = new Seccion(bloques, "Sección 1", Eseccion, "Sección"); Departamento departamento = new Departamento(secciones, "Departamento 1", Edepartamento, "Departamento"); personas1.Add(persona1); personas1.Add(persona2); personas2.Add(persona3); personas2.Add(persona4); bloques.Add(bloque1); bloques.Add(bloque2); secciones.Add(seccion); e.Divisiones.Add(bloque1); e.Divisiones.Add(bloque2); e.Divisiones.Add(seccion); e.Divisiones.Add(departamento); empresas.Add(e); try { SaveE(empresas); } catch (System.IO.IOException exp2) { Console.WriteLine("No se logró guardar correctamente."); Console.WriteLine(exp2.Message); } } catch (System.Runtime.Serialization.SerializationException exp1) { Console.WriteLine("El archivo está vacio, se creará uno nuevo."); Console.WriteLine(exp1.Message); Console.WriteLine("Escriba los datos de la empresa"); Console.Write("Nombre: "); string name = Console.ReadLine(); Console.Write("Rut: "); string rut = Console.ReadLine(); Empresa e = new Empresa(name, rut); Persona Edepartamento = new Persona("A", "A", "19.639.828-5", "Encargado Departamento"); Persona Eseccion = new Persona("B", "B", "19.689.587-8", "Encargado Sección"); Persona Ebloque1 = new Persona("C", "C", "20.881.887-4", "Encargado Bloque"); Persona Ebloque2 = new Persona("D", "D", "11.833.498-K", "Encargado Bloque"); Persona persona1 = new Persona("E", "E", "12.232.498-4", "Trabajador"); Persona persona2 = new Persona("F", "F", "8.107.074-3", "Trabajador"); Persona persona3 = new Persona("G", "G", "19.685.827-1", "Trabajador"); Persona persona4 = new Persona("H", "H", "20.463.389-4", "Trabajador"); List <Bloque> bloques = new List <Bloque>(); List <Seccion> secciones = new List <Seccion>(); List <Persona> personas1 = new List <Persona>(); List <Persona> personas2 = new List <Persona>(); Bloque bloque1 = new Bloque(personas1, "Bloque 1", Ebloque1, "Bloque"); Bloque bloque2 = new Bloque(personas2, "Bloque 2", Ebloque2, "Bloque"); Seccion seccion = new Seccion(bloques, "Sección 1", Eseccion, "Sección"); Departamento departamento = new Departamento(secciones, "Departamento 1", Edepartamento, "Departamento"); personas1.Add(persona1); personas1.Add(persona2); personas2.Add(persona3); personas2.Add(persona4); bloques.Add(bloque1); bloques.Add(bloque2); secciones.Add(seccion); e.Divisiones.Add(bloque1); e.Divisiones.Add(bloque2); e.Divisiones.Add(seccion); e.Divisiones.Add(departamento); empresas.Add(e); try { SaveE(empresas); } catch (System.IO.IOException exp2) { Console.WriteLine("No se logró guardar correctamente."); Console.WriteLine(exp2.Message); } } } else if (option == 2) { Console.WriteLine("Escriba los datos de la empresa"); Console.Write("Nombre: "); string name = Console.ReadLine(); Console.Write("Rut: "); string rut = Console.ReadLine(); Empresa e = new Empresa(name, rut); Persona Edepartamento = new Persona("A", "A", "19.639.828-5", "Encargado Departamento"); Persona Eseccion = new Persona("B", "B", "19.689.587-8", "Encargado Sección"); Persona Ebloque1 = new Persona("C", "C", "20.881.887-4", "Encargado Bloque"); Persona Ebloque2 = new Persona("D", "D", "11.833.498-K", "Encargado Bloque"); Persona persona1 = new Persona("E", "E", "12.232.498-4", "Trabajador"); Persona persona2 = new Persona("F", "F", "8.107.074-3", "Trabajador"); Persona persona3 = new Persona("G", "G", "19.685.827-1", "Trabajador"); Persona persona4 = new Persona("H", "H", "20.463.389-4", "Trabajador"); List <Bloque> bloques = new List <Bloque>(); List <Seccion> secciones = new List <Seccion>(); List <Persona> personas1 = new List <Persona>(); List <Persona> personas2 = new List <Persona>(); Bloque bloque1 = new Bloque(personas1, "Bloque 1", Ebloque1, "Bloque"); Bloque bloque2 = new Bloque(personas2, "Bloque 2", Ebloque2, "Bloque"); Seccion seccion = new Seccion(bloques, "Sección 1", Eseccion, "Sección"); Departamento departamento = new Departamento(secciones, "Departamento 1", Edepartamento, "Departamento"); personas1.Add(persona1); personas1.Add(persona2); personas2.Add(persona3); personas2.Add(persona4); bloques.Add(bloque1); bloques.Add(bloque2); secciones.Add(seccion); e.Divisiones.Add(bloque1); e.Divisiones.Add(bloque2); e.Divisiones.Add(seccion); e.Divisiones.Add(departamento); empresas.Add(e); try { SaveE(empresas); } catch (System.IO.IOException exp2) { Console.WriteLine("No se logró guardar correctamente."); Console.WriteLine(exp2.Message); } } else if (option == 3) { n = false; } } }