public ListaUsuarios Cargar() { ListaUsuarios data = new ListaUsuarios(); try { if (File.Exists(fichero)) { IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(fichero, FileMode.Open, FileAccess.Read, FileShare.Read); data = (ListaUsuarios)formatter.Deserialize(stream); stream.Close(); } } catch (FileNotFoundException) { Console.WriteLine("No se encuentra el fichero"); } catch (PathTooLongException) { Console.WriteLine("La ruta es demasiado larga"); } catch (ArgumentNullException) { Console.WriteLine("El nombre del fichero no puede ser nulo"); } return(data); }
private static void borrarUsuario(ListaUsuarios usuarios) { usuarios.MostrarTodos(); Console.WriteLine("Seleccione usuario: "); int opcion = Convert.ToInt32(Console.ReadLine()); usuarios.RemoveUsuario(opcion); }
static void Main(string[] args) { int siguienteCodigo = 1; ListaUsuarios usuarios = new ListaUsuarios(); Serializador serializador = new Serializador("usuarios.dat"); usuarios = serializador.Cargar(); siguienteCodigo = usuarios.CodigoSiguienteUsuario(); bool salir = false; string opcion = ""; do { menu(); opcion = Console.ReadLine(); switch (opcion) { case "1": addNuevoUsuario(ref siguienteCodigo, usuarios); break; case "2": borrarUsuario(usuarios); break; case "3": modificarUsuario(usuarios); break; case "4": usuarios.MostrarMayoresEdad(); break; case "s": case "S": salir = true; break; default: Console.WriteLine("Opción incorrecta"); break; } } while (!salir); serializador.Guardar(usuarios); }
private static void addNuevoUsuario(ref int codigo, ListaUsuarios usuarios) { Console.Write("Nombre: "); string nombre = Console.ReadLine(); Console.Write("Password: "******"Email: "); string email = Console.ReadLine(); Console.Write("Fecha de nacimiento(DD/MM/YYYY): "); DateTime fecha = DateTime.Parse(Console.ReadLine()); if (Usuario.NombreValido(nombre) && Usuario.EmailValido(email)) { usuarios.AddUsuario(codigo, new Usuario(codigo, nombre, password, email, fecha)); codigo++; } }
public void Guardar(ListaUsuarios data) { try { IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(fichero, FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, data); stream.Close(); } catch (FileNotFoundException) { Console.WriteLine("No se encuentra el fichero"); } catch (PathTooLongException) { Console.WriteLine("La ruta es demasiado larga"); } catch (ArgumentNullException) { Console.WriteLine("El nombre del fichero no puede ser nulo"); } }
private static void modificarUsuario(ListaUsuarios usuarios) { usuarios.MostrarTodos(); Console.WriteLine("Seleccione usuario: "); int opcion = Convert.ToInt32(Console.ReadLine()); Usuario modificado = usuarios.GetUsuario(opcion); Console.Write("Nombre: " + modificado.Nombre + " Nuevo valor: "); string nombre = Console.ReadLine(); if (nombre != "" && Usuario.NombreValido(nombre)) { modificado.Nombre = nombre; } Console.Write("Email: " + modificado.Email + " Nuevo valor: "); string email = Console.ReadLine(); if (email != "" && Usuario.EmailValido(email)) { modificado.Email = email; } Console.Write("Fecha de nacimiento: " + modificado.FechaNacimiento + " Nuevo valor: "); string fecha = Console.ReadLine(); if (fecha != "") { modificado.FechaNacimiento = DateTime.Parse(fecha); } usuarios.AddUsuario(modificado.Codigo, modificado); }