/// <summary> /// Denna metoden inaktiverar en användare. /// </summary> public void InactivateUser() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "User ID: "); string userInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int userID = Convert.ToInt32(userInput); var inactivateUser = API.InactivateUser(adminID, userID); if (inactivateUser == true) { Console.WriteLine(spacing + $"Inactivated user."); Console.Write(spacing); Console.ReadLine(); } else if (inactivateUser == false) { Console.WriteLine(spacing + "Failed to inactivate user."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod lägger till en användare. /// </summary> public void AddUser() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Username: "******"Password: "******"Added user."); Console.Write(spacing); Console.ReadLine(); } else if (addUser == false) { Console.WriteLine(spacing + "Failed to add user."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod lägger till en redan existerande bok till en kategori. /// </summary> public void AddBookToCategory() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookInput = Console.ReadLine(); Console.WriteLine(spacing + "Category: "); string categoryInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int bookID = Convert.ToInt32(bookInput); var bookAdd = API.AddBookToCategory(adminID, bookID, categoryInput); if (bookAdd == true) { Console.WriteLine(spacing + $"Added book to category."); Console.Write(spacing); Console.ReadLine(); } else if (bookAdd == false) { Console.WriteLine(spacing + "Failed to add book to category."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod raderar en kategori. /// </summary> public void DeleteCategory() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Category ID: "); string categoryInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int categoryID = Convert.ToInt32(categoryInput); var delCategory = API.DeleteCategory(adminID, categoryID); if (delCategory == true) { Console.WriteLine(spacing + $"Deleted category."); Console.Write(spacing); Console.ReadLine(); } else if (delCategory == false) { Console.WriteLine(spacing + "Failed to delete category."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod lägger till en kategori. /// </summary> public void AddCategory() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Category name: "); string categoryInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var addCategory = API.AddCategory(adminID, categoryInput); if (addCategory == true) { Console.WriteLine(spacing + $"Added category."); Console.Write(spacing); Console.ReadLine(); } else if (addCategory == false) { Console.WriteLine(spacing + "Failed to add category."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod raderar en bok med hjälp av ID. /// </summary> public void DeleteBook() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int bookID = Convert.ToInt32(bookInput); var deleteBook = API.DeleteBook(adminID, bookID); if (deleteBook == true) { Console.WriteLine(spacing + $"Deleted the book."); Console.Write(spacing); Console.ReadLine(); } else if (deleteBook == false) { Console.WriteLine(spacing + "Failed to delete book."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod bestämmer hur många böcker som ska finnas i bokaffären. /// </summary> public void SetAmount() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookInput = Console.ReadLine(); Console.Write(spacing + "Amount: "); string amountInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int bookID = Convert.ToInt32(bookInput); int amount = Convert.ToInt32(amountInput); var setAmount = API.SetAmount(adminID, bookID, amount); if (setAmount == true) { Console.WriteLine(spacing + $"Added amount by {amount}"); Console.Write(spacing); Console.ReadLine(); } else if (setAmount == false) { Console.WriteLine(spacing + "Failed to add book."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod listar upp alla bokkategorier. /// </summary> public void ListCategories() { var API = new WebbShopAPI.WebbShopAPI(); var categories = API.GetCategories(); foreach (var category in categories) { Console.WriteLine(spacing + category.Name); } Console.ReadLine(); }
/// <summary> /// Denna metoden hämtar en bok med hjälp av ID. /// </summary> public void GetBook() { Console.Write(spacing + "ID: "); string inputID = Console.ReadLine(); int ID = Convert.ToInt32(inputID); var API = new WebbShopAPI.WebbShopAPI(); var book = API.GetBook(ID); Console.WriteLine(spacing + book.Title); Console.ReadLine(); }
/// <summary> /// Denna metod söker efter en kategori med hjälp av en sökordsparameter. /// </summary> public void ListCategoryKeyword() { Console.Write(spacing + "Name: "); string input = Console.ReadLine(); var API = new WebbShopAPI.WebbShopAPI(); var categories = API.GetCategories(input); foreach (var category in categories) { Console.WriteLine(spacing + category.Name); } Console.ReadLine(); }
/// <summary> /// Denna metod visar hur mycket pengar bokaffären har tjänat. /// </summary> public void MoneyEarned() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var moneyEarned = API.SoldItems(adminID); Console.WriteLine(spacing + moneyEarned + "kr"); }
/// <summary> /// Denna metod hämtar alla författare som matchar med sökordsparametern. /// </summary> public void GetAuthors() { Console.Write(spacing + "Name: "); string input = Console.ReadLine(); var API = new WebbShopAPI.WebbShopAPI(); var authorList = API.GetBooks(input); foreach (var book in authorList) { Console.WriteLine(spacing + book.Author); } Console.ReadLine(); }
/// <summary> /// Denna metod hämtar den bästa kunden i bokaffären. /// </summary> public void BestCustomer() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var bestCustomer = API.BestCustomer(adminID); Console.WriteLine(spacing + $"The best customer is {bestCustomer.Name} - ID: {bestCustomer.ID}"); Console.ReadLine(); }
/// <summary> /// Denna metoden söker efter en kategori med hjälp av ID. /// </summary> public void ListCategoryID() { Console.Write(spacing + "ID: "); string inputID = Console.ReadLine(); int ID = Convert.ToInt32(inputID); var API = new WebbShopAPI.WebbShopAPI(); var categories = API.GetCategory(ID); foreach (var category in categories) { Console.WriteLine(spacing + category.Title); } Console.ReadLine(); }
/// <summary> /// Denna metod radar upp alla böcker som har sålts till vilken person. /// </summary> public void SoldItems() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var soldItems = API.SoldItems(adminID); foreach (var item in soldItems) { Console.WriteLine(spacing + $"{item.Title} - {item.Price}kr - User ID: {item.UserID}"); } }
/// <summary> /// Denna metoden kollar hur många böcker det finns kvar i systemet. /// </summary> public void GetAvaibleBooks() { Console.Write(spacing + "Book ID: "); string inputID = Console.ReadLine(); int ID = Convert.ToInt32(inputID); var API = new WebbShopAPI.WebbShopAPI(); var books = API.GetCategory(ID); int counter = 0; foreach (var book in books) { counter++; } Console.WriteLine(spacing + $"There is {counter} amount of books left."); Console.ReadLine(); }
/// <summary> /// Denna metod listar upp alla användare. /// </summary> public void ListAllUsers() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var listAll = API.ListUsers(adminID); Console.WriteLine("\n" + spacing + "~ Users ~\n"); foreach (var user in listAll) { Console.WriteLine(spacing + user.Name); } Console.ReadLine(); }
/// <summary> /// Denna metod lägger till ny bok i systemet. Ifall boken redan existerar, så kommer bokens amount att öka med angiven parameter. /// </summary> public void AddBook() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookInput = Console.ReadLine(); Console.Write(spacing + "Title: "); string title = Console.ReadLine(); Console.Write(spacing + "Author: "); string author = Console.ReadLine(); Console.Write(spacing + "Price: "); string priceInput = Console.ReadLine(); Console.Write(spacing + "Amount: "); string amountInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int bookID = Convert.ToInt32(bookInput); int price = Convert.ToInt32(priceInput); int amount = Convert.ToInt32(amountInput); var bookAdd = API.AddBook(adminID, bookID, title, author, price, amount); if (bookAdd == true) { Console.WriteLine(spacing + $"Added {title}."); Console.Write(spacing); Console.ReadLine(); } else if (bookAdd == false) { Console.WriteLine(spacing + "Failed to add book."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod söker efter en användare med hjälp av sökordsparameter. /// </summary> public void SearchUser() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Username: "); string userInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); var userList = API.FindUser(adminID, userInput); foreach (var user in userList) { Console.WriteLine(spacing + user.Name); } Console.ReadLine(); }
/// <summary> /// Denna metod uppdaterar värden hos en redan existerande bok. /// </summary> public void UpdateBook() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "Admin ID: "); string adminInput = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookInput = Console.ReadLine(); Console.Write(spacing + "Title: "); string titleInput = Console.ReadLine(); Console.Write(spacing + "Author: "); string authorInput = Console.ReadLine(); Console.Write(spacing + "Price: "); string priceInput = Console.ReadLine(); int adminID = Convert.ToInt32(adminInput); int bookID = Convert.ToInt32(bookInput); int price = Convert.ToInt32(priceInput); var updateBook = API.UpdateBook(adminID, bookID, titleInput, authorInput, price); if (updateBook == true) { Console.WriteLine(spacing + $"Updated the changes."); Console.Write(spacing); Console.ReadLine(); } else if (updateBook == false) { Console.WriteLine(spacing + "Failed to update book."); Console.Write(spacing); Console.ReadLine(); } }
/// <summary> /// Denna metod loggar ut användaren. /// </summary> public void Logout() { var menu = new WebbShopFront.Menu(); var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "ID: "); string userInput = Console.ReadLine(); int userID = Convert.ToInt32(userInput); var logout = API.Logout(userID); if (logout == true) { Console.WriteLine(spacing + "Logged out, you will return to main menu."); menu.Intro(); } else if (logout == false) { Console.WriteLine(spacing + "Wrong ID."); } Console.ReadLine(); }
/// <summary> /// Denna metoden används för att köpa en bok. /// </summary> public void BuyBook() { var API = new WebbShopAPI.WebbShopAPI(); Console.Write(spacing + "User ID: "); string userID = Console.ReadLine(); Console.Write(spacing + "Book ID: "); string bookID = Console.ReadLine(); int user = Convert.ToInt32(userID); int book = Convert.ToInt32(bookID); var buyBook = API.BuyBook(user, book); if (buyBook == true) { Console.WriteLine(spacing + "Bought book."); } else if (buyBook == false) { Console.WriteLine(spacing + "Failed to buy book."); } Console.ReadLine(); }
/// <summary> /// Meny för användare som har IsAdmin = true. /// </summary> public void AdminMenu() { bool adminMenu = true; var API = new WebbShopAPI.WebbShopAPI(); var admin = new Controllers.AdminMethods(); var user = new Controllers.UserMethods(); while (adminMenu) { Console.Clear(); Console.WriteLine(@" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ___ __ _ / _ |___/ /_ _ (_)__ __ _ ___ ___ __ __ / __ / _ / ' \/ / _ \/ ' \/ -_) _ \/ // / /_/ |_\_,_/_/_/_/_/_//_/_/_/_/\__/_//_/\_,_/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "); Console.WriteLine(spacing2 + "(1) Add a book\t\t(8) Add a book to category\t(15) Demote a user"); Console.WriteLine(spacing2 + "(2) Add amount of books\t(9) Delete a category\t\t(16) Activate a user"); Console.WriteLine(spacing2 + "(3) List all users\t\t(10) Add a user\t\t\t(17) Inactivate a user"); Console.WriteLine(spacing2 + "(4) Search for a user\t(11) View all sold items\t(18) Logout"); Console.WriteLine(spacing2 + "(5) Update a book\t\t(12) Show all money earned"); Console.WriteLine(spacing2 + "(6) Delete a book\t\t(13) Display the best customer"); Console.WriteLine(spacing2 + "(7) Add a category\t\t(14) Promote a user\n"); Console.Write(spacing + " "); string input = Console.ReadLine(); switch (input) { case "1": admin.AddBook(); break; case "2": admin.SetAmount(); break; case "3": admin.ListAllUsers(); break; case "4": admin.SearchUser(); break; case "5": admin.UpdateBook(); break; case "6": admin.DeleteBook(); break; case "7": admin.AddCategory(); break; case "8": admin.AddBookToCategory(); break; case "9": admin.DeleteCategory(); break; case "10": admin.AddUser(); break; case "11": admin.SoldItems(); break; case "12": admin.MoneyEarned(); break; case "13": admin.BestCustomer(); break; case "14": admin.Promote(); break; case "15": admin.Demote(); break; case "16": admin.ActivateUser(); break; case "17": admin.InactivateUser(); break; case "18": user.Logout(); break; } } }
/// <summary> /// Denna metod körs när programmet startas, metoden returnerar true eller false beroende på vad IsAdmin är satt till. /// </summary> /// <returns></returns> public bool Intro() { bool adminUser = false; var API = new WebbShopAPI.WebbShopAPI(); Console.WindowHeight = 30; Console.WindowWidth = 120; Console.BackgroundColor = ConsoleColor.Cyan; Console.ForegroundColor = ConsoleColor.DarkMagenta; bool loop = true; while (loop) { Console.Clear(); Console.WriteLine(@" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _ __ __ __ ______ | | /| / /__ / / / / / __/ / ___ ___ | |/ |/ / -_) _ \/ _ \_\ \/ _ \/ _ \/ _ \ |__/|__/\__/_.__/_.__/___/_//_/\___/ .__/ /_/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (1) Log in (2) Register (3) Exit "); Console.Write(spacing + " "); string input = Console.ReadLine(); if (input == "1") { Console.Write(spacing + "Username: "******"Password: "******"Incorrect username or password."); Console.ReadKey(); } } else if (input == "2") { Console.Write(spacing + "Username: "******"Password: "******"Verify password: "******"Created new account."); } else if (register == false) { Console.WriteLine(spacing + "Failed to create an account."); } Console.ReadLine(); } else if (input == "3") { System.Environment.Exit(1); } } return(adminUser); }
/// <summary> /// Meny för alla användare som har IsAdmin = false (defaultvärdet) /// </summary> public void UserMenu() { bool adminMenu = true; var API = new WebbShopAPI.WebbShopAPI(); var user = new Controllers.UserMethods(); while (adminMenu) { Console.Clear(); Console.WriteLine(@" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __ __ / / / /_______ _________ ___ ___ ____ __ __ / / / / ___/ _ \/ ___/ __ `__ \/ _ \/ __ \/ / / / / /_/ (__ ) __/ / / / / / / / __/ / / / /_/ / \____/____/\___/_/ /_/ /_/ /_/\___/_/ /_/\__,_/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "); Console.WriteLine(spacing2 + "(1) List all categories\t\t\t(6) Search for book by name"); Console.WriteLine(spacing2 + "(2) Search for category by name\t\t(7) Search for author by name"); Console.WriteLine(spacing2 + "(3) Search books that match category ID\t(8) Buy a book"); Console.WriteLine(spacing2 + "(4) Get available books\t\t\t(9) Logout"); Console.WriteLine(spacing2 + "(5) Search for a book with ID"); Console.Write(spacing + " "); string input = Console.ReadLine(); switch (input) { case "1": user.ListCategories(); break; case "2": user.ListCategoryKeyword(); break; case "3": user.ListCategoryID(); break; case "4": user.GetAvaibleBooks(); break; case "5": user.GetBook(); break; case "6": user.GetBooks(); break; case "7": user.GetAuthors(); break; case "8": user.BuyBook(); break; case "9": user.Logout(); break; } } }