/// <summary> /// Runs the Admin funtionality-page /// </summary> /// <returns>integer, user id if admin, 0 if not</returns> public int Run() { AdminView.StartPage(); userId = new Login().Run(); if (userId == 0) { return(0); } var result = CheckAdmin(userId); if (!result) { AdminView.VerifyAdminFailed(); return(0); } bool keepGoing = true; while (keepGoing) { AdminView.AdminPage(); var input = InputHelper.ParseInput(); switch (input) { case 1: AddBook(userId); break; case 2: SetAmount(userId); break; case 3: ViewAllUsers(userId); break; case 4: FindUser(userId); break; case 5: UpdateBook(userId); break; case 6: DeleteBook(userId); break; case 7: AddCategory(userId); break; case 8: AddBookToCategory(userId); break; case 9: UpdateCategory(userId); break; case 10: DeleteCategory(userId); break; case 11: AddUser(userId); break; case 12: ViewAllSoldItems(userId); break; case 13: ViewTotalIncome(userId); break; case 14: ViewBestCustomer(userId); break; case 15: PromoteUser(userId); break; case 16: DemoteUser(userId); break; case 17: ActivateUser(userId); break; case 18: InactivateUser(userId); break; case 19: keepGoing = false; break; default: MessageViews.DisplayNonAvailableMessage(); break; } } return(userId); }