static void Main(string[] args) { Console.WriteLine("¿Quiere utilizar un archivo para cargar la informcación de la empresa?(si/no)"); string answ = Console.ReadLine(); if (answ == "no" || answ == "NO") { Console.WriteLine("Se ha seleccionado que no, por favor ingrese los siguientes datos "); Thread.Sleep(2000); Console.Clear(); Console.WriteLine("Nombre de la Empresa"); string Nombre = Console.ReadLine(); int Rut = 0; while (Rut == 0) { Console.WriteLine("Rut de la Empresa"); int.TryParse(Console.ReadLine(), out Rut); } Empresa empresa = new Empresa(Nombre, Rut); Empresa.serializar(empresa); } else if (answ == "si" || answ == "SI") { Console.WriteLine("ingresando archivo"); Thread.Sleep(2000); Console.Clear(); Empresa.deserializar(); } }
public static void deserializar() { IFormatter formatter2 = new BinaryFormatter(); try { Stream stream2 = new FileStream("empresa.bin", FileMode.Open, FileAccess.Read, FileShare.Read); Empresa obj = (Empresa)formatter2.Deserialize(stream2); Console.WriteLine("Empresa " + obj.Name); int a = 0; for (int i = 0; i < obj.divisiones.Count; i++) { if (obj.divisiones[i].GetType() == typeof(Bloque)) { Console.WriteLine(obj.divisiones[i].get_name()); Console.WriteLine(obj.persona[i].get_position() + " " + obj.persona[i].get_name()); Console.WriteLine("Personal : " + obj.personal[a].get_name()); Console.WriteLine("Personal : " + obj.personal[a + 1].get_name()); a += 2; } else { Console.WriteLine(obj.divisiones[i].get_name()); Console.WriteLine(obj.persona[i].get_position() + " " + obj.persona[i].get_name()); } } stream2.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("No existen datos de la empresa por favor ingreselos"); Console.WriteLine("Nombre de la Empresa"); string Nombre = Console.ReadLine(); int Rut = 0; while (Rut == 0) { Console.WriteLine("Rut de la Empresa"); int.TryParse(Console.ReadLine(), out Rut); } Empresa empresa = new Empresa(Nombre, Rut); Empresa.serializar(empresa); } }