Skip to content

Commit

Permalink
BookBag logic added, commented out for now
Browse files Browse the repository at this point in the history
  • Loading branch information
ehilst515 committed Sep 3, 2020
1 parent 560eda1 commit 936d183
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 30 deletions.
3 changes: 2 additions & 1 deletion Library/Book.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ enum Genre
Fantasy,
Nonficiton,
ComicBook,
ScienceFiction
ScienceFiction,
Fiction

}
}
161 changes: 132 additions & 29 deletions Library/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System;

using System.Collections.Generic;

namespace LibraryProgram
{
Expand All @@ -10,12 +10,21 @@ class Program

static void Main(string[] args)
{
Console.Clear();
UserInterface();
}

static void UserInterface()
{
Library = new Library<Book>();
StarterBooks();
StartBookBag();

start:
Console.Clear();
Console.WriteLine("Enter a number with the corresponding command; 1: View Books, 2: Add a book, 3: Remove a book");
Console.WriteLine("Enter a number with the corresponding command; \n " +
"1: View Book in Library, 2: Add a book, 3: Remove a book from library");
// + ", 4: View Book Bag, 5: Borrow a Book, 6: Return a Book ");
string input = Console.ReadLine();

if (input == "1")
Expand All @@ -40,11 +49,20 @@ static void Main(string[] args)
Console.WriteLine("Enter Author last name:");
string inputAuthorLast = Console.ReadLine();

//int numPages = GetPages();

getPages:
Console.WriteLine("Enter number of pages:");
string inputNumberOfPages = Console.ReadLine();
int numberNumberOfPages = Convert.ToInt32(inputNumberOfPages);


int numberNumberOfPages;
if (int.TryParse(inputNumberOfPages, out numberNumberOfPages))
{
if (numberNumberOfPages < 0)
{
Console.WriteLine("Incorrect page length entered");
goto getPages;
}
}

getGenre:
Console.WriteLine("Enter a number to assign a genre:");
Expand All @@ -56,7 +74,7 @@ static void Main(string[] args)

int numberGenre = Convert.ToInt32(inputGenre);

if(numberGenre < 0 || numberGenre > counter - 1)
if (numberGenre < 0 || numberGenre > counter - 1)
{
Console.WriteLine("Incorrect entery");
goto getGenre;
Expand Down Expand Up @@ -100,18 +118,33 @@ static void Main(string[] args)

goto start;

}

}

//else if (input == "4")
//{
// LoadBookBag();
//}

//else if (input == "5")
//{
// BorrowBook();
//}

//else if (input == "6")
//{
// ReturnBook();
//}

else
{
Console.WriteLine("Incorrect command. Press enter to try again.");
Console.ReadLine();
goto start;
}

}
}

static void AddABook(string title, string firstName, string lastName, int numberOfPages, Genre genre)

public static void AddABook(string title, string firstName, string lastName, int numberOfPages, Genre genre)
{
Book book = new Book()
{
Expand All @@ -136,6 +169,51 @@ static void StarterBooks()

}

public static void BookBagStarter(string title, string firstName, string lastName, int numberOfPages, Genre genre)
{
Book book = new Book()
{
Title = title,
Author = new Author(firstName, lastName)
{
FirstName = firstName,
LastName = lastName
},
NumberOfPages = numberOfPages,
Genre = genre
};

BookBag.Add(book);
}

static void StartBookBag()
{
BookBagStarter("Fight Club", "Chuck", "Palahniuk", 208, Genre.Fiction);
}

static int GetPages()
{
Console.WriteLine("Enter number of pages:");
string inputNumberOfPages = Console.ReadLine();
int numberNumberOfPages;
if(int.TryParse(inputNumberOfPages, out numberNumberOfPages)){
if (numberNumberOfPages < 0)
{
Console.WriteLine("Incorrect page length entered");
GetPages();
}
return numberNumberOfPages;
}

else
{
Console.WriteLine("Incorrect page length entered");
GetPages();
}

return numberNumberOfPages;

}

static void LoadBooks()
{
Expand All @@ -144,24 +222,49 @@ static void LoadBooks()
Console.WriteLine($"{counter++} : {book.Title}, {book.Author.Name()}, {book.NumberOfPages}, {book.Genre}");
}

static void LoadBookBag()
{
int counter = 1;
foreach (Book book in BookBag)
Console.WriteLine($"{counter++} : {book.Title}, {book.Author.Name()}, {book.NumberOfPages}, {book.Genre}");
}

static void BorrowBook()
{
Dictionary<int, Book> books = new Dictionary<int, Book>();
Console.WriteLine("Which book would you like to borrow");
int counter = 1;
foreach (var item in BookBag)
{
books.Add(counter, item);
Console.WriteLine($"{counter++}. {item.Title} - {item.Author.FirstName} {item.Author.LastName}");

}

string response = Console.ReadLine();
int.TryParse(response, out int selection);
books.TryGetValue(selection, out Book returnedBook);
Library.Remove(selection);
BookBag.Add(returnedBook);
}

static void ReturnBook()
{
Dictionary<int, Book> books = new Dictionary<int, Book>();
Console.WriteLine("Which book would you like to return");
int counter = 1;
foreach (var item in BookBag)
{
books.Add(counter, item);
Console.WriteLine($"{counter++}. {item.Title} - {item.Author.FirstName} {item.Author.LastName}");

}

//static void ReturnBook()
//{
// Dictionary<int, Book> books = new Dictionary<int, Book>();
// Console.WriteLine("Which book would you like to return");
// int counter = 1;
// foreach (var item in BookBag)
// {
// books.Add(counter, item);
// Console.WriteLine($"{counter++}. {item.Title} - {item.Author.FirstName} {item.Author.LastName}");

// }

// string response = Console.ReadLine();
// int.TryParse(response, out int selection);
// books.TryGetValue(selection, out Book returnedBook);
// BookBag.Remove(returnedBook);
// Library.Add(returnedBook);
//}
string response = Console.ReadLine();
int.TryParse(response, out int selection);
books.TryGetValue(selection, out Book returnedBook);
BookBag.Remove(selection);
Library.Add(returnedBook);
}
}
}

0 comments on commit 936d183

Please sign in to comment.