コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: victerr/Examen
        private static void borrarUsuario(ListaUsuarios usuarios)
        {
            usuarios.MostrarTodos();

            Console.WriteLine("Seleccione usuario: ");
            int opcion = Convert.ToInt32(Console.ReadLine());

            usuarios.RemoveUsuario(opcion);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: victerr/Examen
        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);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: victerr/Examen
        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++;
            }
        }
コード例 #5
0
        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");
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: victerr/Examen
        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);
        }