public static Boolean addForum(String newForum, String forumAdmin)
        {
            Forum forum;

            if ((forum = getForum(newForum)) != null)
            {
                Console.WriteLine("Error : forum " + newForum + " already exists");
                System.Threading.Thread.Sleep(3000);
                return(false);
            }
            Administrator forumAdministrator = UserHandler.getAdmin(forumAdmin);

            if (forumAdministrator == null)
            {
                Console.WriteLine("Error : no such user " + forumAdministrator.getName());
                System.Threading.Thread.Sleep(3000);
                return(false);
            }
            Storage.forumStorage.Add(new Forum(newForum, forumAdministrator));
            return(true);
        }
        public static Boolean addDiscussion(String forumName, String subForumName, String discTitle, String content, String member)
        {
            Forum forum;

            if ((forum = ForumHandler.getForum(forumName)) == null)
            {
                Console.WriteLine("Error : invalid forum");
                return(false);
            }
            SubForum subForum = forum.getSubForum(subForumName);

            if (subForum == null)
            {
                Console.WriteLine("Error : invalid sub forum");
                return(false);
            }
            ForumMember forumMember = (ForumMember)UserHandler.getUser(member);

            subForum.addDiscussion(new Discussion(discTitle, new NewMessage(discTitle, content, forumMember)));
            return(true);
            //subForum.addDiscussion(new Discussion(title, new NewMessage(title, content, forumMember)));
        }
        public static Boolean addSubForum(String forumName, String subForumName, String moderator)
        {
            Forum forum = getForum(forumName);

            if (forum != null && forum.getSubForum(subForumName) == null)
            {
                Moderator mod = UserHandler.getModerator(moderator);
                if (moderator == null)
                {
                    Console.WriteLine("Error : user " + moderator + " isn't a forum member");
                    return(false);
                }

                forum.addSubForum(new SubForum(subForumName, mod));
                return(true);
            }
            else
            {
                Console.WriteLine("Error");
                return(false);
            }
        }
        private static void startUp()
        {
            // login as a member includes all types of users: admins, moderators, super manager and plain users
            String choice = "";

            while (!exit)
            {
                Console.WriteLine("Choose option : ");
                Console.WriteLine("1. login as registered member");
                Console.WriteLine("2. login as guest");
                Console.WriteLine("3. register as a new member");
                Console.WriteLine("4. exit");
                choice = Console.ReadLine();
                if (choice.Equals("1"))
                {
                    Console.WriteLine("Enter a user name");
                    String      userStr = Console.ReadLine();
                    ForumMember user;
                    if ((user = UserHandler.getUser(userStr)) == null)
                    {
                        Console.WriteLine("Error : Wrong user name");
                        continue;
                    }
                    String pass = "";
                    Console.WriteLine("Please enter password");
                    pass = Console.ReadLine();
                    if (pass != user.getPassword())
                    {
                        Console.WriteLine("Error : Wrong password for user " + userStr);
                        continue;
                    }
                    //currentUser = user;
                    viewMenu(user);
                }
                else if (choice.Equals("2"))
                {
                    Guest guest = UserHandler.enterAsGuest();
                    viewMenu(guest);
                }
                else if (choice.Equals("3"))
                {
                    Console.WriteLine("Enter user name");
                    String userName = Console.ReadLine();
                    Console.WriteLine("Enter password");
                    String pass = Console.ReadLine();
                    Console.WriteLine("Enter email");
                    String e_mail = Console.ReadLine();

                    Console.WriteLine("Confirm your e-mail");
                    String confMail = Console.ReadLine();
                    if (!e_mail.Equals(confMail))
                    {
                        Console.WriteLine("E-Mails dont match");
                        continue;
                    }
                    Boolean regSuccess = UserHandler.registerForumMember(userName, pass, e_mail);
                    if (regSuccess)
                    {
                        Console.WriteLine("User " + userName + " has been added to the system");
                    }
                }
                else if (choice.Equals("4"))
                {
                    exit = true;
                    Console.WriteLine("Exiting...bye");
                    System.Threading.Thread.Sleep(2000);
                }
            }
        }