I'm trying to make a library where you can add books, search for books etc, I have a hardcoded book that you should be able to search for but it only displays the after I add a new book and then it will display the hardcoded book if you search for it again
the code
any help at all would be appreciated , thanks.
the code
Code:
public class Book
{
public String BookName { get; set; }
public String AuthorName { get; set; }
public int NumberOfCopiesInStock { get; set; }
public String ISBN { get; set; }
public Book(String bookName, String authorName, int numberOfCopiesInStock, String isbn)
{
this.BookName = bookName;
this.AuthorName = authorName;
this.NumberOfCopiesInStock = numberOfCopiesInStock;
this.ISBN = isbn;
}
public override String ToString()
{
return ("BookName: " + BookName
+ "\n"
+ "Author Name: " + AuthorName
+ "\n"
+ "Number Of Copies: " + NumberOfCopiesInStock
+ "\n"
+ "ISBN: " + ISBN);
}
}
Code:
public class Search
{
public Boolean SearchForBook()
{
Console.WriteLine("Please enter name of book: ");
String search = Console.ReadLine();
UserInput.MakeTheComputerSleep();
foreach (Book b in UserInput.bookList)
{
if (b.BookName.Equals(search))
{
Console.WriteLine(b);
return true;
}
}
Console.WriteLine("Book doesn't exist! ");
return false;
}
}
Code:
public class UserInput
{
public static Boolean KeepGoing = true;
public static List<Book> bookList = new List<Book>();
private static readonly String INPUT_ERROR_MESSAGE = "Please only enter NUMBERS!";
private static readonly String INVALID_CHOICE = "INVALID CHOICE ENTERED!";
private static readonly String SEARCH_MESSAGE = "Searching for book,please wait......";
private static Random RandomObject = new Random();
public static void WelcomeMessage()
{
Console.WriteLine("********************");
Console.WriteLine("* Cork *");
Console.WriteLine("* Library *");
Console.WriteLine("********************");
}
private static void MenuHeader()
{
Console.WriteLine("********************");
Console.WriteLine("* Menu *");
Console.WriteLine("* Options *");
Console.WriteLine("********************");
}
private static void MenuOptions()
{
Console.WriteLine("1.) Add Book. ");
Console.WriteLine("2.) Search for Book. ");
Console.WriteLine("3.) Delete Book. ");
Console.WriteLine("4.) Display all Book. ");
Console.WriteLine("0.) Exit. ");
}
public static void GetUserInput()
{
int choice;
MenuHeader();
do
{
MenuOptions();
Console.WriteLine(">");
choice = 0;
while (!int.TryParse(Console.ReadLine(), out choice))
{
Console.WriteLine(INPUT_ERROR_MESSAGE);
}
PickChoice(choice);
} while (choice != 0);
}
private static void PickChoice(int choice)
{
switch (choice)
{
case 1:
AddBook addBook = new AddBook();
addBook.EnterBookInfo();
break;
case 2:
Search search = new Search();
search.SearchForBook();
break;
case 3:
break;
case 4:
AddBook addBook1 = new AddBook();
addBook1.PrintListOfBooks();
break;
case 0:
Exit exit = new Exit();
exit.Exit_Application();
break;
default:
Console.WriteLine(INVALID_CHOICE);
break;
}
}
public static void MakeTheComputerSleep()
{
int number = RandomObject.Next(10) + 1;
Console.WriteLine("Searching for Book.......");
Thread.Sleep(number * 1000);
}
}
Code:
public class AddBook
{
public void EnterBookInfo()
{
while (UserInput.KeepGoing)
{
Console.WriteLine("Please enter name of book: ");
String BookName = Console.ReadLine();
if (BookName.Equals("end"))
{
break;
}
Console.WriteLine("Please enter Author Name: ");
String AuthorName = Console.ReadLine();
Console.WriteLine("Please enter ISBN Number: ");
String ISBN = Console.ReadLine();
Console.WriteLine("Please enter number of books: ");
int NumberOfCopiesInStock = Convert.ToInt32(Console.ReadLine());
Book book1 = new Book("Neverwhere", "Neil Gaimen", 1, "aaaaa");
Book book = new Book(BookName, AuthorName, NumberOfCopiesInStock, ISBN);
UserInput.bookList.Add(book);
UserInput.bookList.Add(book1);
}
}
public void PrintListOfBooks()
{
foreach (Book b in UserInput.bookList)
{
Console.WriteLine(b.ToString());
Console.WriteLine();
}
}
}
Code:
class Program
{
public static void Main(string[] args)
{
UserInput.WelcomeMessage();
UserInput.GetUserInput();
}
}
any help at all would be appreciated , thanks.