/// <summary> /// Gets all categories in form of a string from the database. /// Also checks if the user's session is active. Then also returns out bool if user is inactve, and string error message /// </summary> /// <param name="userId"></param> /// <param name="userIsInactive"></param> /// <param name="errorMsgOut"></param> /// <returns>String with the results</returns> internal string GetCategories(int userId, out bool userIsInactive, out string errorMsgOut) { userIsInactive = false; errorMsgOut = ""; if (!IsSessionActive(userId, out string errorMsgIn)) { userIsInactive = true; errorMsgOut = errorMsgIn; return(""); } else { string categories = "ID CATEGORY\n"; var list = webAPI.GetCategories(); if (list != null) { foreach (BookCategory s in list) { categories += s.Id + ". " + s.Category + "\n"; } return(categories); } else { errorMsgOut = "Error loading categories"; Debug.WriteLine("Getcategories list was null"); return(""); } } }
public static void ShowCategories() { var categories = WebbShopAPI.GetCategories(); foreach (var cat in categories) { Console.WriteLine($"{cat.Id}. {cat.Name}"); } }
/// <summary> /// Allows you to view all book categories /// </summary> public void ViewAllCategories() { WebbShopAPI api = new WebbShopAPI(); var listOfCategories = api.GetCategories().ToList(); if (listOfCategories != null) { var sortCategoryList = listOfCategories.OrderBy(c => c.ID).ToList(); BookViews.DisplayCategoryList(sortCategoryList); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Uses all book categories to fetch all books in each category /// </summary> /// <returns></returns> public List <Books> GetAllBooks() { var listOfBooks = new List <Books>(); WebbShopAPI api = new WebbShopAPI(); var listOfCategories = api.GetCategories().ToList(); if (listOfCategories != null) { foreach (var category in listOfCategories) { listOfBooks.AddRange(api.GetAvailableBooks(category.ID).ToList()); } return(listOfBooks); } return(new List <Books>()); }
/// <summary> /// Allows you to search for a specific category /// </summary> public void SearchFunctionCategories() { BookViews.SearchPage(); var keyword = Console.ReadLine(); if (keyword != "") { WebbShopAPI api = new WebbShopAPI(); var listOfCategories = api.GetCategories(keyword).ToList(); if (listOfCategories != null) { BookViews.DisplayCategoryList(listOfCategories); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Runs a test-scenario /// </summary> public static void Run() { var api = new WebbShopAPI(); Console.Write("Logged in as: "); int userId = api.Login("TestCustomer", "Codic2021"); Console.WriteLine(userId); //--------------------------------------------------- Console.WriteLine("Searching all categories: "); var listOfCategories = api.GetCategories(); if (listOfCategories.Count > 0) { foreach (var category in listOfCategories) { Console.WriteLine(category.Genere); } } //--------------------------------------------------- Console.WriteLine("Searching all categories with \"or\"-keyword: "); listOfCategories = api.GetCategories("or"); if (listOfCategories.Count > 0) { foreach (var category in listOfCategories) { Console.WriteLine(category.Genere); } } //--------------------------------------------------- Console.WriteLine("Searching for all books with category \"Horror\": "); var listOfBooks = api.GetCategories(2); if (listOfBooks.Count > 0) { foreach (var book in listOfBooks) { Console.WriteLine(book.Title); } } var respons = api.Ping(userId); if (respons.Length > 0) { Console.WriteLine(respons); } //--------------------------------------------------- Console.WriteLine("Searching for all available books with category \"Horror\": "); var listOfAvailableBooks = api.GetAvailableBooks(2); foreach (var book in listOfAvailableBooks) { Console.WriteLine($"{book.Title}, Amount: {book.Amount}"); } //--------------------------------------------------- Console.WriteLine("Information around all books with genere \"Horror\""); var description = api.GetBook(4); Console.WriteLine(description); //--------------------------------------------------- Console.WriteLine("Searching for books matching search word \"shi\""); listOfBooks = api.GetBooks("shi"); foreach (var book in listOfBooks) { Console.WriteLine(book.Title); } respons = api.Ping(userId); if (respons.Length > 0) { Console.WriteLine(respons); } //--------------------------------------------------- Console.WriteLine("Searching for books matching Author \"Stephen King\""); listOfBooks = api.GetAuthor("Stephen King"); foreach (var book in listOfBooks) { Console.WriteLine(book.Title); } //--------------------------------------------------- Console.WriteLine("Selected book to purchase: \"Doctor Sleep\""); var succeed = api.BuyBook(userId, 2); if (succeed) { Console.WriteLine("Purchase made"); } //--------------------------------------------------- api.Logout(userId); }
public static void ShowUserMenu() { switch (Program.choise) { case "1": { var cat = WebbShopAPI.GetCategories(); foreach (var c in cat) { Console.WriteLine($"{c.Id}. {c.Name}"); } break; } case "2": { Console.Write("Search: "); string keyword = Console.ReadLine(); var cat = WebbShopAPI.SearchCategory(keyword); foreach (var c in cat) { Console.WriteLine($"{c.Id}. {c.Name}"); } break; } case "3": { var cat = WebbShopAPI.GetCategories(); foreach (var c in cat) { Console.WriteLine($"{c.Id}. {c.Name}"); } Console.Write("Choise a category (id): "); int catId = Convert.ToInt32(Console.ReadLine()); var books = WebbShopAPI.ShowBooksByCategory(catId); foreach (var book in books) { Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price: {book.Price} sek"); } break; } case "4": { var cat = WebbShopAPI.GetCategories(); foreach (var c in cat) { Console.WriteLine($"{c.Id}. {c.Name}"); } Console.Write("Choise a category (id): "); int catId = Convert.ToInt32(Console.ReadLine()); var books = WebbShopAPI.ShowAvailableBooksByCategory(catId); foreach (var book in books) { Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price: {book.Price} sek"); } break; } case "5": { var books = WebbShopAPI.GetAllBooks(); foreach (var b in books) { Console.WriteLine($"{b.Id}.{b.Title}"); } Console.Write("Choise a book (id): "); int bookId = Convert.ToInt32(Console.ReadLine()); var book = WebbShopAPI.GetBookById(bookId); Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price {book.Price} sek. Available amount: {book.Amount}"); break; } case "6": { Console.Write("Search: "); string keyword = Console.ReadLine(); var books = WebbShopAPI.FindBookByName(keyword); foreach (var b in books) { Console.WriteLine($"{b.Id}.{b.Title}"); } break; } case "7": { Console.Write("Search by author: "); string keyword = Console.ReadLine(); var books = WebbShopAPI.GetAuthors(keyword); foreach (var b in books) { Console.WriteLine($"{b.Id}.{b.Title}"); } break; } case "8": { var books = WebbShopAPI.GetAllBooks(); foreach (var b in books) { Console.WriteLine($"{b.Id}.{b.Title}"); } Console.Write("Choise a book (id): "); int bookId = Convert.ToInt32(Console.ReadLine()); WebbShopAPI.BuyABook(Program.userId, bookId); break; } case "q": { break; } } }