Example #1
0
        static void Main(string[] args)
        {
            Biblioteca bib = new Biblioteca();

            bib.LeerCSV("biblio.csv");

            int opcion = -1;

            while (opcion != 0)
            {
                Console.Clear();
                Console.WriteLine("GESTIÓN DE BIBLIOTECA PERSONAL");
                Console.WriteLine("------------------------------");
                Console.WriteLine();
                Console.WriteLine("1- Listado de libros");
                Console.WriteLine("2- Añadir un libro");
                Console.WriteLine("3- Marcar un libro como leído");
                Console.WriteLine();
                Console.WriteLine("0- Salir (se grabarán las modificaciones)");
                Console.WriteLine();
                Console.Write("Opción: ");

                if (int.TryParse(Console.ReadLine(), out opcion))
                {
                    switch (opcion)
                    {
                    case 1:
                        Console.Clear();
                        Console.WriteLine(bib);
                        Console.WriteLine();
                        Console.WriteLine("Pulse una tecla para volver al menú...");
                        Console.ReadKey();
                        break;

                    case 2:
                    {
                        string isbn;
                        string titulo;
                        string autor;
                        int    npaginas;

                        Console.Clear();
                        Console.WriteLine("NUEVO LIBRO");
                        Console.WriteLine("-----------");
                        Console.WriteLine();

                        Console.Write("Introduzca el ISBN: ");
                        while ((isbn = Console.ReadLine()) == "")
                        {
                            Console.Write("El ISBN no puede estar en blanco, escríbalo de nuevo: ");
                        }

                        Console.Write("Introduzca el título: ");
                        while ((titulo = Console.ReadLine()) == "")
                        {
                            Console.Write("El título no puede estar en blanco, escríbalo de nuevo: ");
                        }

                        Console.Write("Introduzca el autor: ");
                        while ((autor = Console.ReadLine()) == "")
                        {
                            Console.Write("El autor no puede estar en blanco, escríbalo de nuevo: ");
                        }

                        Console.Write("Introduzca el número de páginas: ");
                        while (!int.TryParse(Console.ReadLine(), out npaginas) || npaginas <= 0)
                        {
                            Console.Write("El número de páginas debe ser un entero mayor que cero, escríbalo de nuevo: ");
                        }

                        Libro l = new Libro(isbn, titulo, autor, npaginas);
                        if (bib.InsertaLibro(l))
                        {
                            Console.WriteLine("Libro insertado con éxito");
                        }
                        else
                        {
                            Console.WriteLine("El libro no se ha podido insertar: ISBN duplicado");
                        }
                        Console.WriteLine();
                        Console.WriteLine("Pulse una tecla para volver al menú...");
                        Console.ReadKey();
                    }
                    break;

                    case 3:
                    {
                        string cadena;
                        Console.Clear();
                        Console.WriteLine("Introduzca el título o parte del título a marcar como leído");

                        while ((cadena = Console.ReadLine()) == "")
                        {
                            Console.WriteLine("No puede usar una cadena en blanco. Escriba el título:");
                        }

                        int marcados = bib.MarcarLeidoTitulo(cadena);

                        if (marcados > 1)
                        {
                            Console.WriteLine("Marcados " + marcados + " libros como leídos");
                        }
                        else
                        {
                            if (marcados == 1)
                            {
                                Console.WriteLine("El libro se ha marcado como leído");
                            }
                            else
                            {
                                Console.WriteLine("No se ha encontrado ningún libro con ese título");
                            }
                        }

                        Console.WriteLine();
                        Console.WriteLine("Pulse una tecla para volver al menú...");
                        Console.ReadKey();
                    }
                    break;
                    }
                }
                else
                {
                    opcion = -1;
                }
            }

            bib.GuardarCSV("biblio.csv");
            Console.WriteLine("¡Hasta pronto!");
            Console.ReadKey();
        }
Example #2
0
        static void Main(string[] args)
        {
            try
            {
                #region Definir lista nueva sintaxis
                List <Libro> libros = new List <Libro>
                {
                    new Libro {
                        Titulo     = "Don Quijote de la Mancha",
                        Autor      = "Miguel de Cervantes",
                        Editorial  = "Editorial EDAF, S.A",
                        NumPaginas = 765,
                        ISBN       = "9788441405298",
                        Reseña     = "El libro, sinopsis… Nos presentan a este personaje como un loco trastornado a causa" +
                                     " de las novelas de caballerías, pero, ¿Quién dice que el señor Quijana era sólo eso? ¿Por algún" +
                                     " motivo será la cumbre de la literatura española verdad? Y aquí se plantea la duda héroe o " +
                                     "simplemente viejo loco."
                    },


                    new Libro {
                        Titulo     = "El camino",
                        Autor      = "Miguel Delibes",
                        Editorial  = "Espasa",
                        NumPaginas = 187,
                        ISBN       = "9788467023664",
                        Reseña     = "Una de las más importantes obras de Miguel Delibes cuenta la historia de un niño , Daniel " +
                                     "el Mochuelo, que tiene que trasladarse a la ciudad para cursar bachillerato. Una noche antes de partir" +
                                     " Daniel recordará todo lo que le ha ocurrido en este lugar, sus amigos, sus peripecias, y descubrirá..."
                    },
                    new Libro {
                        Titulo     = "Cien años de soledad",
                        Autor      = "Gabriel García Márquez",
                        Editorial  = "Alfaguara",
                        NumPaginas = 562,
                        ISBN       = "9788420471839",
                        Reseña     = "Muchos años después, frente al pelotón de fusilamiento, el coronel Aureliano Buendía había de" +
                                     " recordar aquella tarde remota en que su padre lo llevó a conocer el hielo.» Con estas palabras " +
                                     "empieza una novela ya legendaria en los anales de la literatura universal, una de las aventuras "
                    },
                    new Libro {
                        Titulo     = "La Regenta",
                        Autor      = "Leopoldo Alas Clarín",
                        Editorial  = "Crítica",
                        NumPaginas = 182,
                        ISBN       = "9788484326977",
                        Reseña     = "En La Regenta, sin lugar a dudas una de las cumbres de la novela realista, Leopoldo Alas " +
                                     "alcanzó a cifrar de forma inolvidable uno de los motivos que obsesionaron a la narrativa europea " +
                                     "de la segunda mitad del siglo XIX: el retrato de un carácter femenino que se debate entre el deseo y..."
                    },
                    new Libro {
                        Titulo     = "Los mejores cuentos de Clarín",
                        Autor      = "Leopoldo Alas Clarín",
                        Editorial  = "De Vecchi",
                        NumPaginas = 145,
                        ISBN       = "9788431533441",
                        Reseña     = "Una cuidadosa selección que nos muestra la riqueza de los recursos estilísticos de este gran" +
                                     " escritor del s. XIX.En el volumen se incluyen: Doña Berta, Benedictino, Manín de Pepa José, Zurita," +
                                     " Cambio de luz, y la Conversión de Chiripa"
                    }
                };
                #endregion
                Biblioteca biblioteca = new Biblioteca("EL RINCÓN DE LEER", libros);

                biblioteca.Presta("22111333", "9788420471839");
                biblioteca.Presta("22111333", "9788431533441");

                Console.WriteLine(biblioteca.EstaPrestado("9788420471839"));
                Console.WriteLine(biblioteca.EstaPrestado("22111444"));
                Console.WriteLine(biblioteca.BuscaPorISBN("9788431533441"));
                Console.WriteLine(biblioteca.BuscaPorISBN("97884551533441"));
                Console.WriteLine(biblioteca.CuentaLibrosConNumeroDePaginasMenorA(400));
                Console.WriteLine(biblioteca.BuscaPorISBN("9788467023664"));
                biblioteca.EliminaPorAutor("Miguel Delibes");
                Console.WriteLine(biblioteca.BuscaPorISBN("9788467023664"));
            }
            catch (BibliotecaException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (Exception j)
            {
                Console.WriteLine(j.Message);
            }
        }