Exemple #1
0
        public static User RegisterUser(List <string> userList)
        {
            string userInput = null;

            while (true)
            {
                while (true)
                {
                    Welcome.ResetPage();
                    GetSearchResults.WriteCyanToConsole("Please enter a user name to register: ");
                    userInput = Console.ReadLine();
                    if (!(userList.Contains(userInput)))
                    {
                        break;
                    }
                    else
                    {
                        Console.WriteLine("That name has already been registered");
                        GetSearchResults.WriteCyanToConsole("Press any key to continue...");
                        Console.ReadKey();
                    }
                }
                GetSearchResults.WriteCyanToConsole($"\nYou've entered {userInput}. Is this the name you want (y/n)? ");
                string continueCheck = Console.ReadLine();
                if (!continueCheck.Equals("n", StringComparison.OrdinalIgnoreCase))
                {
                    Welcome.ResetPage();
                    Console.WriteLine($"Thank you for registering, {userInput}");
                    GetSearchResults.WriteCyanToConsole("\nPress any key to access the library catalog");
                    Console.ReadKey();
                    break;
                }
            }
            return(new User(userInput));
        }
Exemple #2
0
        public void MakeItHappen()
        {
            Welcome.IntroPage();
            var parsedBookData = BuildLibraryItems.GetFileMetadata();
            var bookList       = BuildLibraryItems.BuildBookInstanceList(parsedBookData);
            var userList       = LoginAndRegister.GetUserArray();
            var user           = LoginAndRegister.LogIn(userList, bookList);

            userList = LoginAndRegister.AddUserToList(userList, user.Name);
            var checkedOutBooks = CheckInAndOut.GetCheckedOutBooks(bookList, user);
            var checkedInBooks  = CheckInAndOut.GetCheckedinBooks(bookList);

            CheckInAndOut.UserStatus(checkedOutBooks);
            Console.WriteLine("\n");

            while (true)
            {
                var userSelection = Welcome.WelcomeUser();
                switch (userSelection)
                {
                case 1:
                    GetSearchResults.AuthorSearch(bookList);
                    break;

                case 2:
                    GetSearchResults.TitleSearch(bookList);
                    break;

                case 3:
                    GetSearchResults.FullStatusDisplay(bookList);
                    break;

                case 4:
                    CheckInAndOut.CheckIn(bookList, checkedOutBooks, checkedInBooks);
                    break;

                case 5:
                    CheckInAndOut.CheckOut(bookList, checkedInBooks, checkedOutBooks, user);
                    break;

                case 6:
                    BuildLibraryItems.AddBook(bookList, checkedInBooks);
                    break;

                case 7:
                    Welcome.ResetPage();
                    Console.WriteLine($"Please come back soon, {user.Name}!");
                    BuildLibraryItems.BuildBookPropertyFile(bookList);
                    BuildLibraryItems.BuildUserFile(userList);
                    return;

                default:
                    break;
                }
            }
        }
Exemple #3
0
        public static void CheckIn(List <Book> bookList, List <Book> checkedOutBooks, List <Book> checkedInBooks)
        {
            string continueCheck;

            do
            {
                while (true)
                {
                    if (!(checkedOutBooks.Count == 0))
                    {
                        Welcome.ResetPage();
                        Console.WriteLine("Now checking in a book\n");
                        PrintCheckedOutList(checkedOutBooks);
                        GetSearchResults.WriteCyanToConsole("\nPlease choose a book to check in: ");

                        int checkedInput;
                        var userInput = Console.ReadLine();

                        if ((int.TryParse(userInput, out checkedInput)) && (int.Parse(userInput) > 0) && int.Parse(userInput) <= checkedOutBooks.Count)
                        {
                            Welcome.ResetPage();
                            checkedInput = int.Parse(userInput);
                            checkedOutBooks[checkedInput - 1].CheckInBook();
                            checkedInBooks.Add(checkedOutBooks[checkedInput - 1]);
                            checkedOutBooks.Remove(checkedOutBooks[checkedInput - 1]);
                            break;
                        }
                        else
                        {
                            Welcome.ResetPage();
                            Console.WriteLine("Please choose a book by number from the list.");
                            GetSearchResults.WriteCyanToConsole("\nPress any key to continue");
                            Console.ReadKey();
                        }
                    }
                    else
                    {
                        Welcome.ResetPage();
                        Console.WriteLine("You don't have anything to check in.");
                        GetSearchResults.WriteCyanToConsole("\nPress any key to return to main menu.");
                        Console.ReadKey();
                        return;
                    }
                }

                GetSearchResults.WriteCyanToConsole("\nWould you like to check another book in? (y/n)? ");
                continueCheck = Console.ReadLine();
            } while (!continueCheck.Equals("n", StringComparison.OrdinalIgnoreCase));
        }
Exemple #4
0
 public static void UserStatus(List <Book> checkedOutBooks)
 {
     Welcome.ResetPage();
     if (!checkedOutBooks.Any())
     {
         Console.WriteLine("You don't currently have anything checked out.");
     }
     else
     {
         Console.WriteLine("You currently have the following books checked out:\n");
         PrintCheckedOutList(checkedOutBooks);
     }
     GetSearchResults.WriteCyanToConsole("\nPress any key to view the library catalog");
     Console.ReadKey();
 }
Exemple #5
0
        public void MakeItHappen()
        {
            var parsedBookData = BuildLibraryItems.GetFileMetadata();
            var bookList       = BuildLibraryItems.BuildBookInstanceList(parsedBookData);
            var userList       = LoginAndRegister.GetUserArray();
            var user           = LoginAndRegister.LogIn(userList, bookList);

            userList = LoginAndRegister.AddUserToList(userList, user.Name);
            var checkedOutBooks = CheckInAndOut.GetCheckedOutBooks(bookList, user);
            var checkedInBooks  = CheckInAndOut.GetCheckedinBooks(bookList);

            CheckInAndOut.UserStatus(checkedOutBooks);
            Console.WriteLine("\n");

            while (true)
            {
                // wrap this entire thing in a while
                var userSelection = Welcome.WelcomeUser();
                if (userSelection == 1)
                {
                    GetSearchResults.AuthorSearch(bookList);
                }
                else if (userSelection == 2)
                {
                    GetSearchResults.TitleSearch(bookList);
                }
                else if (userSelection == 3)
                {
                    GetSearchResults.FullStatusDisplay(bookList);
                }
                else if (userSelection == 4)
                {
                    CheckInAndOut.CheckIn(bookList, checkedOutBooks, checkedInBooks);
                }
                else if (userSelection == 5)
                {
                    CheckInAndOut.CheckOut(bookList, checkedInBooks, user);
                }
                else if (userSelection == 6)
                {
                    Console.WriteLine($"See ya later, {user.Name}");
                    break;
                }

                //BuildLibraryItems.BuildBookPropertyFile(bookList);
                //BuildLibraryItems.BuildUserFile(userList);
            }
        }
Exemple #6
0
        public static void AddBook(List <Book> bookList, List <Book> checkedInBooks)
        {
            Welcome.ResetPage();
            var donatedBook = new Book();

            GetSearchResults.WriteCyanToConsole("Please enter the name of the book you're donating: ");
            donatedBook.Title = Console.ReadLine();
            GetSearchResults.WriteCyanToConsole("Please enter the author of the book you're donating: ");
            donatedBook.Author = Console.ReadLine();
            donatedBook.Status = "in";
            bookList.Add(donatedBook);
            checkedInBooks.Add(donatedBook);
            Console.WriteLine("\nThank you for your donation!");
            GetSearchResults.WriteCyanToConsole("\nPress any key to continue");
            Console.ReadKey();
        }
Exemple #7
0
        public static User LogIn(List <string> userList, List <Book> bookList)
        {
            string userName = null;

            while (true)
            {
                Welcome.ResetPage();
                GetSearchResults.WriteCyanToConsole("Please enter your name to login to the library database: ");
                userName = Console.ReadLine();
                if (userList.Contains(userName))
                {
                    var user = new User(userName);
                    Console.WriteLine($"Welcome back, {user.Name}");
                    return(user);
                }
                else
                {
                    Welcome.ResetPage();
                    Console.WriteLine("Cannot find user name.\n");
                    while (true)
                    {
                        Console.WriteLine("1 - Retry login");
                        Console.WriteLine("2 - Register new user");
                        GetSearchResults.WriteCyanToConsole("\nPlease select the one of the following options: ");
                        string userSelection = Console.ReadLine();
                        if (userSelection == "1")
                        {
                            break;
                        }
                        else if (userSelection == "2")
                        {
                            return(RegisterUser(userList));
                        }
                        else
                        {
                            Welcome.ResetPage();
                            Console.WriteLine("Sorry, I didn't get that.");
                        }
                    }
                }
            }
        }
Exemple #8
0
        public static int WelcomeUser()
        {
            int checkSearchInput;

            while (true)
            {
                ResetPage();
                Console.WriteLine("Welcome to the Library's main page\n (1) Search by author\n (2) Search by title\n (3) Display all book information\n (4) Return a book\n (5) Check out a book\n (6) Donate book to library\n (7) Exit Program");
                GetSearchResults.WriteCyanToConsole("\nPlease select an option from the list above: ");
                var searchInput = Console.ReadLine();
                if ((int.TryParse(searchInput, out checkSearchInput)) && (int.Parse(searchInput) > 0) && (int.Parse(searchInput) <= 7))
                {
                    checkSearchInput = int.Parse(searchInput);
                    break;
                }
                else
                {
                    Console.WriteLine("Please choose a valid entry from the list.");
                    GetSearchResults.WriteCyanToConsole("Press any key to continue");
                    Console.ReadKey();
                }
            }
            return(checkSearchInput);
        }