Ejemplo n.º 1
0
        /// <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);
        }