ServerConsole.cs

00001 using System;
00002 using System.Collections.Generic;
00003 using System.Text;
00004 using Shared;
00005 
00006 
00007 namespace Server
00008 {
00012     class ServerConsole
00013     {
00014         Catalogue catalogue;
00015         
00020         public ServerConsole(Catalogue catalogue)
00021         {
00022             this.catalogue = catalogue;
00023         }
00024 
00028         private void PresentConsoleInterface()
00029         {
00030             Console.Write("\nThe following commands are supported:\n\n");
00031 
00032             Console.Write("'QUIT' - Stops the server\n");
00033             Console.Write("'ADDMOD username' - Give an existing user moderator privileges.\n");
00034             Console.Write("'REMOVEMOD username' - Remove moderator privileges from a user.\n");
00035             Console.Write("'LIST' - List all users.\n");
00036             Console.Write("'HELP' - Show this screen.\n");
00037             
00038 
00039 
00040             Console.Write("\n");
00041         }
00042 
00046         public void StartConsole()
00047         {
00048             string tmp;
00049             string[] input;
00050 
00051             PresentConsoleInterface();
00052 
00053             while ((tmp = Console.ReadLine()).ToLower() != "quit")
00054             {
00055                 input = tmp.Split(' ');
00056                 
00057                 if (input[0] == "addmod") AddModerator(input[1]);
00058                 if (input[0] == "removemod") RemoveModerator(input[1]);
00059                 if (input[0] == "help") PresentConsoleInterface();
00060                 if (input[0] == "list") ListAllUsers();
00061 
00062             }
00063    
00064         }
00065 
00066         private void ListAllUsers()
00067         {
00068             ISearchable[] result = catalogue.ListItems(Shared.ResultType.Person);
00069             List<PersonInfo> users = new List<PersonInfo>();
00070             
00071             for (int i = 0; i < result.Length; i++)
00072             {
00073                 if (result[i] is PersonInfo) users.Add((PersonInfo)result[i]);
00074             }
00075 
00076             Console.Write("Users in the system:\n\n");
00077             
00078             for (int i = 0; i < users.Count; i++)
00079             {
00080                 Console.Write("Username: " + users[i].username.ToString() + "\n"); 
00081             }
00082 
00083         }
00084 
00085         private void AddModerator(string username)
00086         {
00087 
00088             
00089             Person p = catalogue.GetUser(username);
00090 
00091             if (p != null)
00092             {
00093                 p.Moderator = true;
00094                 Console.Write("\n" + p.Name + " was succesfully made a moderator.\n");
00095             }
00096             else Console.Write("\nUsername was not found.\n");
00097         }
00098 
00099         private void RemoveModerator(string username)
00100         {
00101             Person p = catalogue.GetUser(username);
00102 
00103             if (p != null && p.Moderator != true)
00104             {
00105                 Console.Write("\n" + p.Name + " is not a moderator.\n");
00106                 return;
00107             }
00108 
00109             if (p != null)
00110             {
00111                 p.Moderator = false;
00112                 Console.Write("\n" + p.Name + " is not a moderator anymore.\n");
00113             }
00114             else Console.Write("\nUsername was not found.\n");
00115         }
00116         
00117     }
00118 }

Generated on Thu Dec 21 06:21:56 2006 for SCRAML by  doxygen 1.5.1-p1