/// <summary> /// Allows admin user to add a new user /// </summary> /// <param name="adminId"></param> private void AddUser(int adminId) { ManageAccountViews.AddAccount(); var userName = Console.ReadLine(); var password = Console.ReadLine(); if (userName != "" && password != "") { WebbShopAPI api = new WebbShopAPI(); var result = api.AddUser(adminId, userName, password); if (result) { MessageViews.DisplaySuccessMessage(); return; } } if (userName != "" && password == "") { WebbShopAPI api = new WebbShopAPI(); var result = api.AddUser(adminId, userName); if (result) { MessageViews.DisplaySuccessMessage(); return; } } ManageAccountViews.RegisterFailed(); }
/// <summary> /// Allows admin user to update an existing category /// </summary> /// <param name="adminId"></param> private void UpdateCategory(int adminId) { new Book().ViewAllCategories(); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var categoryId = InputHelper.ParseInput(); if (categoryId == 0) { return; } AdminView.UpdateCategoryPage(); var genere = Console.ReadLine(); if (genere != "") { WebbShopAPI api = new WebbShopAPI(); var result = api.UpdateCategory(adminId, categoryId, genere); if (result) { MessageViews.DisplaySuccessMessage(); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to update an existing book /// </summary> /// <param name="adminId"></param> private void UpdateBook(int adminId) { new Book().FindAllAvailableBooks(); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var bookId = InputHelper.ParseInput(); if (bookId == 0) { return; } AdminView.UpdateBookPage(); var title = Console.ReadLine(); var author = Console.ReadLine(); var price = InputHelper.ParseInput(); if (title != "" && author != "" && price != 0) { WebbShopAPI api = new WebbShopAPI(); bool result = api.UpdateBook(adminId, bookId, title, author, price); if (result) { MessageViews.DisplaySuccessMessage(); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to add a book to category /// </summary> /// <param name="adminId"></param> private void AddBookToCategory(int adminId) { AdminView.AddBookCategory(); new Book().SearchBooksByTitle(); MessageViews.DisplaySelectMessage(); var bookId = InputHelper.ParseInput(); new Book().ViewAllCategories(); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var categoryId = InputHelper.ParseInput(); if (categoryId == 0) { return; } if (bookId != 0 && categoryId != 0) { WebbShopAPI api = new WebbShopAPI(); var result = api.AddBookToCategory(adminId, bookId, categoryId); if (result) { MessageViews.DisplaySuccessMessage(); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows admin user to set the amount of a book /// </summary> /// <param name="adminId"></param> private void SetAmount(int adminId) { new Book().FindAllAvailableBooks(); AdminView.SetAmountPage(); MessageViews.DisplayReturnMessage(); var bookId = InputHelper.ParseInput(); if (bookId == 0) { return; } var newAmount = InputHelper.ParseInput(); WebbShopAPI api = new WebbShopAPI(); bool result = api.SetAmount(adminId, bookId, newAmount); if (result) { MessageViews.DisplaySuccessMessage(); return; } MessageViews.DisplayErrorMessage(); }
public static void ShowCategories() { var categories = WebbShopAPI.GetCategories(); foreach (var cat in categories) { Console.WriteLine($"{cat.Id}. {cat.Name}"); } }
public static void ShowBooks() { var books = WebbShopAPI.GetAllBooks(); foreach (var book in books) { Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price: {book.Price} sek. Available amount: {book.Amount}"); } }
/// <summary> /// Checks the status of the registration /// </summary> /// <param name="userName"></param> /// <param name="userPassword"></param> /// <param name="verifyPassword"></param> /// <returns>boolean, true if success, false if not</returns> private bool CheckRegistrationStatus(string userName, string userPassword, string verifyPassword) { if (userName != "" && userPassword != "" && verifyPassword != "") { WebbShopAPI api = new WebbShopAPI(); return(api.Register(userName, userPassword, verifyPassword)); } return(false); }
/// <summary> /// Runs the logout functionality page /// </summary> /// <param name="userId"></param> public void Run(int userId) { if (userId != 0) { WebbShopAPI api = new WebbShopAPI(); api.Logout(userId); } AccountViews.LogoutUser(); }
/// <summary> /// Checks an random admin functionality to see if user is admin /// </summary> /// <param name="userId"></param> /// <returns>boolean true if successful, false if not</returns> private bool CheckAdmin(int userId) { WebbShopAPI api = new WebbShopAPI(); //if the return value is larger than 0 the userId is valid. var list = api.ListUsers(userId); if (list.Count > 0) { return(true); } return(false); }
/// <summary> /// Allows admin user to view the sum of all sold books /// </summary> /// <param name="adminId"></param> private void ViewTotalIncome(int adminId) { WebbShopAPI api = new WebbShopAPI(); var totalIncome = api.MoneyEarned(adminId); if (totalIncome != 0) { AdminView.DisplayMoneyEarned(totalIncome); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows you to view details for a specific book /// </summary> /// <param name="bookId"></param> public void ViewDetails(int bookId) { WebbShopAPI api = new WebbShopAPI(); var bookDetails = api.GetBook(bookId); if (bookDetails != string.Empty) { BookViews.DisplayDetails(bookDetails); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to view all sold books /// </summary> /// <param name="adminId"></param> private void ViewAllSoldItems(int adminId) { WebbShopAPI api = new WebbShopAPI(); var listOfSoldItems = api.SoldItems(adminId); if (listOfSoldItems != null) { AdminView.DisplaySoldItems(listOfSoldItems); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to see which customer bought the most books /// </summary> /// <param name="adminId"></param> private void ViewBestCustomer(int adminId) { WebbShopAPI api = new WebbShopAPI(); var customerId = api.BestCustomer(adminId); if (customerId != 0) { AdminView.DisplayBestCustomer(customerId); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to view all users /// </summary> /// <param name="adminId"></param> private void ViewAllUsers(int adminId) { WebbShopAPI api = new WebbShopAPI(); var listOfUsers = api.ListUsers(adminId); if (listOfUsers != null) { var sortUserList = listOfUsers.OrderBy(u => u.ID).ToList(); AdminView.DisplayUsers(sortUserList); return; } MessageViews.DisplayErrorMessage(); }
/// <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> /// Allows you to purchase chosen book /// </summary> /// <param name="userId"></param> /// <param name="bookId"></param> public void PurchaseBook(int userId, int bookId) { WebbShopAPI api = new WebbShopAPI(); if (userId != 0 && bookId != 0) { var result = api.BuyBook(userId, bookId); if (result) { MessageViews.DisplaySuccessMessage(); return; } } PurchaseViews.DisplayErrorMessage(); }
/// <summary> /// Checks if login succeeded /// </summary> /// <param name="userName"></param> /// <param name="userPassword"></param> /// <returns>integer, user id if successful, 0 if not</returns> public int CheckLoginStatus(string userName, string userPassword) { if (userName != "" && userPassword != "") { WebbShopAPI api = new WebbShopAPI(); var user = api.Login(userName, userPassword); if (user != 0) { AccountViews.LoginSuccess(); return(user); } } AccountViews.LoginFailed(); return(0); }
/// <summary> /// Runs the home functionality page /// </summary> public void Run() { Seeder.Seed(); bool keepGoing = true; while (keepGoing) { HomeView.MainMeny(); var input = InputHelper.ParseInput(); if (userId > 0) { WebbShopAPI api = new WebbShopAPI(); api.Ping(userId); } switch (input) { case 1: userId = new Login().Run(); break; case 2: new User().RegisterAccount(); break; case 3: new Book().Run(); break; case 4: new Purchase().Run(userId); break; case 5: userId = new Admin().Run(); break; case 6: new Logout().Run(userId); keepGoing = false; break; default: MessageViews.DisplayNonAvailableMessage(); break; } } }
/// <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> /// Allows you to search for books based to title /// </summary> public void SearchBooksByTitle() { BookViews.SearchPage(); var keyword = Console.ReadLine(); if (keyword != "") { WebbShopAPI api = new WebbShopAPI(); var listOfBooks = api.GetBooks(keyword).ToList(); if (listOfBooks != null) { BookViews.DisplayBookList(listOfBooks); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows admin user to add a new category /// </summary> /// <param name="adminId"></param> private void AddCategory(int adminId) { AdminView.AddCategoryPage(); var genere = Console.ReadLine(); if (genere != "") { WebbShopAPI api = new WebbShopAPI(); var result = api.AddCategory(adminId, genere); if (result) { MessageViews.DisplaySuccessMessage(); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows an admin user to find another user /// </summary> /// <param name="adminId"></param> private void FindUser(int adminId) { AdminView.SearchPage(); var keyword = Console.ReadLine(); if (keyword != "") { WebbShopAPI api = new WebbShopAPI(); var listOfUsers = api.FindUser(adminId, keyword); if (listOfUsers != null) { var sortUserList = listOfUsers.OrderBy(u => u.ID).ToList(); AdminView.DisplayUsers(sortUserList); return; } } MessageViews.DisplayErrorMessage(); }
static void Main(string[] args) { do { Login.ShowFirstMenu(); userId = WebbShopAPI.Login(Controllers.LoginController.username, Controllers.LoginController.password); if (userId > 0) { if (WebbShopAPI.user.IsAdmin) { Console.Clear(); Console.WriteLine("Du är inloggad som Administrator"); do { View.AdminMenu.ShowAdminMenu(); choise = Console.ReadLine(); Controllers.AdminControllers.AdminMenuController.AdminMenu(); } while (choise != "q"); } else { Console.WriteLine("Du är inloggad som user"); do { View.UserMenu.ShowUserMenu(); choise = Console.ReadLine(); Controllers.UserControllers.UserMenuController.ShowUserMenu(); } while (choise != "q"); } if (choise == "q") { choise = "n"; } } else { Console.WriteLine("Wrong username or password"); Console.Write("Try again (y/n): "); choise = Console.ReadLine(); } } while (choise != "n"); }
/// <summary> /// Allows an admin user to add a new book /// </summary> /// <param name="adminId"></param> private void AddBook(int adminId) { AdminView.AddBookPage(); var title = Console.ReadLine(); var author = Console.ReadLine(); var price = InputHelper.ParseInput(); var amount = InputHelper.ParseInput(); if (title != "" && author != "" && price != 0 && amount != 0) { WebbShopAPI api = new WebbShopAPI(); bool result = api.AddBook(adminId, title, author, price, amount); if (result) { MessageViews.DisplaySuccessMessage(); return; } } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows admin user to demote another admin user /// </summary> /// <param name="adminId"></param> private void DemoteUser(int adminId) { ViewAllUsers(adminId); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var userId = InputHelper.ParseInput(); if (userId == 0) { return; } WebbShopAPI api = new WebbShopAPI(); bool result = api.Demote(adminId, userId); if (result) { MessageViews.DisplaySuccessMessage(); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows admin user to delete book category /// </summary> /// <param name="adminId"></param> private void DeleteCategory(int adminId) { new Book().ViewAllCategories(); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var categoryId = InputHelper.ParseInput(); if (categoryId == 0) { return; } WebbShopAPI api = new WebbShopAPI(); var result = api.DeleteCategory(adminId, categoryId); if (result) { MessageViews.DisplaySuccessMessage(); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Allows admin user to delete book /// </summary> /// <param name="adminId"></param> private void DeleteBook(int adminId) { new Book().FindAllAvailableBooks(); MessageViews.DisplaySelectMessage(); MessageViews.DisplayReturnMessage(); var bookId = InputHelper.ParseInput(); if (bookId == 0) { return; } WebbShopAPI api = new WebbShopAPI(); bool result = api.DeleteBook(adminId, bookId); if (result) { MessageViews.DisplaySuccessMessage(); return; } MessageViews.DisplayErrorMessage(); }
/// <summary> /// Runs the scenario /// </summary> public static void Run() { var api = new WebbShopAPI(); Console.Write("Logged in as: "); int userId = api.Login("Administrator", "CodicRulez"); Console.WriteLine(userId); //------------------------------------------------------------------------- Console.WriteLine("Adding new book... "); bool success = api.AddBook(userId, "Sagan om ringen", "J.R.R Tolkien", 300, 5); if (success) { Console.WriteLine("Added book: Sagan om ringen by J.R.R Tolkien"); } //------------------------------------------------------------------------- Console.WriteLine("Setting amount... "); success = api.SetAmount(userId, 2, 4); if (success) { Console.WriteLine("Successfully added new amount."); } //------------------------------------------------------------------------- Console.WriteLine("Searching for all users..."); var list = api.ListUsers(userId); foreach (var user in list) { Console.WriteLine(user.Name); } //------------------------------------------------------------------------- Console.WriteLine("Searching for all users matching keyword \"te\"... "); list = api.FindUser(userId, "te"); foreach (var user in list) { Console.WriteLine(user.Name); } //------------------------------------------------------------------------- var book = Helper.GetBookObject("Sagan om ringen"); if (book != null) { Console.WriteLine($"Updating {book.Title} with new price 350..."); success = api.UpdateBook(userId, book.ID, book.Title, book.Author, 350); if (success) { Console.WriteLine("Sucessfully updated book"); } } //------------------------------------------------------------------------- Console.WriteLine("Adding new category... "); success = api.AddCategory(userId, "Fantasy"); if (success) { Console.WriteLine("Added category: Fantasy"); } Console.WriteLine("Adding new category... "); success = api.AddCategory(userId, "Action"); if (success) { Console.WriteLine("Added category: Action"); } //------------------------------------------------------------------------- Console.WriteLine("Adding book to category... "); var bookId = Helper.GetBookID("Sagan om ringen"); var categoryId = Helper.GetCategoryId("Fantasy"); success = api.AddBookToCategory(userId, bookId, categoryId); if (success) { Console.WriteLine("Successfully added book Sagan om ringen to category Fantasy"); } //------------------------------------------------------------------------- Console.WriteLine("Updating category... "); categoryId = Helper.GetCategoryId("Action"); success = api.UpdateCategory(userId, categoryId, "ActionPower"); if (success) { Console.WriteLine("Successfully updated category genere Action to ActionPower."); } //------------------------------------------------------------------------- Console.WriteLine("Adding new user... "); success = api.AddUser(userId, "Legolas", "L3mb4sBr34d"); if (success) { Console.WriteLine("Successfully added user: Legolas"); } //------------------------------------------------------------------------- Console.WriteLine("Promoting \"Legolas\"... "); var customerId = Helper.GetUserID("Legolas"); success = api.Promote(userId, customerId); if (success) { Console.WriteLine("Sucessfully promoted Legolas to Admin"); } api.Logout(userId); //------------------------------------------------------------------------- Console.Write("Logged in as: "); userId = api.Login("Legolas", "L3mb4sBr34d"); Console.WriteLine(userId); Console.WriteLine("Purchasing \"Sagan om ringen\"... "); bookId = Helper.GetBookID("Sagan om ringen"); success = api.BuyBook(userId, bookId); if (success) { Console.WriteLine("Purchase successful."); } Console.WriteLine("Purchasing \"Sagan om ringen\"... "); success = api.BuyBook(userId, bookId); if (success) { Console.WriteLine("Purchase successful."); } Console.WriteLine("Purchasing \"Sagan om ringen\"... "); success = api.BuyBook(userId, bookId); if (success) { Console.WriteLine("Purchase successful."); } api.Logout(userId); //------------------------------------------------------------------------- Console.Write("Logged in as: "); userId = api.Login("Administrator", "CodicRulez"); Console.WriteLine(userId); Console.WriteLine("Searching for all sold items..."); var soldBooks = api.SoldItems(userId); if (soldBooks.Count > 0) { foreach (var item in soldBooks) { Console.WriteLine($"{item.Title} - {item.Author}"); } } Console.WriteLine("Searching for total price of all sold items... "); int moneyEarned = api.MoneyEarned(userId); if (moneyEarned > 0) { Console.WriteLine($"Money earned: {moneyEarned}"); } Console.WriteLine("Searching \"Best customer\"... "); int bestCustomer = api.BestCustomer(userId); if (bestCustomer > 0) { Console.WriteLine($"Best customer's ID: {bestCustomer}"); } Console.WriteLine("Deleting book \"I Robot\"... "); bookId = Helper.GetBookID("I Robot"); success = api.DeleteBook(userId, bookId); if (success) { Console.WriteLine("Successfully deleted book"); } Console.WriteLine("Deleting category \"Romance\"... "); categoryId = Helper.GetCategoryId("Romance"); success = api.DeleteCategory(userId, categoryId); if (success) { Console.WriteLine("Successfully deleted category"); } Console.WriteLine("Deleting category \"Fantasy\"... "); categoryId = Helper.GetCategoryId("Fantasy"); success = api.DeleteCategory(userId, categoryId); if (success) { Console.WriteLine("Successfully deleted category"); } api.Logout(userId); }