static void Main(string[] args) { using (BotServiceClient client = new BotServiceClient("BasicHttpBinding_IBotService")) { client.Open(); WriteMenuOptions(); while (ProcessUserInput(client, Console.ReadLine())) { WriteMenuOptions(); } client.Close(); } }
public void getSoapBotData() { XmlDocument configDoc = new XmlDocument(); string path = "ParkingNodesConfig.xml"; configDoc.Load(path); XmlElement configRootElem = configDoc.DocumentElement; string unit = configRootElem.GetAttribute("units"); string delay = configRootElem.GetAttribute("refreshRate"); XmlNode lst = configDoc.SelectSingleNode("//provider[connectionType='SOAP']"); XmlElement connectionType = lst["connectionType"]; XmlElement parkInfo = lst["parkInfo"]; int numberOfSpots = 0; using (BotServiceClient service = new BotServiceClient()) { numberOfSpots = int.Parse(parkInfo["numberOfSpots"].InnerText); loadExcelData(parkInfo["geoLocationFile"].InnerText, numberOfSpots); XmlDocument botParkingSpotsDoc = new XmlDocument(); string xml = service.GetSpotString(); botParkingSpotsDoc.LoadXml(xml); XmlNode spotBot = botParkingSpotsDoc.SelectSingleNode("/parkingSpot"); XmlNode status = spotBot["status"]; string location = spotsLocations[spotBot["name"].InnerText].ToString(); XmlElement spot = createParkingSpot(spotBot["id"].InnerText, spotBot["type"].InnerText, spotBot["name"].InnerText, location, status["value"].InnerText, status["timestamp"].InnerText, spotBot["batteryStatus"].InnerText); sendSpotData(spot); listBox1.BeginInvoke((MethodInvoker) delegate { listBox1.Items.Add(spot.OuterXml); }); } }
private static bool ProcessUserInput(BotServiceClient client, string input) { try { string[] str = input.Split(new char[] { ' ' }); if (str.Length == 0) { Console.WriteLine("Invalid Input"); return(true); } switch (str.First().ToLower()) { case "start": switch (str.ElementAtOrDefault(1) ?? string.Empty) { case "": Console.WriteLine("Must specify a username."); break; default: Console.WriteLine("Call returned: {0}", client.StartUser(str.ElementAtOrDefault(1), true, true)); break; } break; case "stop": switch (str.ElementAtOrDefault(1) ?? string.Empty) { case "": Console.WriteLine("Must specify a username."); break; default: Console.WriteLine("Call returned: {0}", client.StopUser(str.ElementAtOrDefault(1))); break; } break; case "viewbot": switch (str.ElementAtOrDefault(1) ?? string.Empty) { case "": Console.WriteLine("Must specify a username."); break; default: switch ((str.ElementAtOrDefault(2) ?? string.Empty).ToLower()) { case "on": Console.WriteLine("Call returned: {0}", client.StartViewBot(str.ElementAtOrDefault(1))); break; case "off": Console.WriteLine("Call returned: {0}", client.StopViewBot(str.ElementAtOrDefault(1))); break; default: Console.WriteLine("Must specify on/off."); break; } break; } break; case "ircbot": switch (str.ElementAtOrDefault(1) ?? string.Empty) { case "": Console.WriteLine("Must specify a username."); break; default: switch ((str.ElementAtOrDefault(2) ?? string.Empty).ToLower()) { case "on": Console.WriteLine("Call returned: {0}", client.StartIrcBot(str.ElementAtOrDefault(1))); break; case "off": Console.WriteLine("Call returned: {0}", client.StartIrcBot(str.ElementAtOrDefault(1))); break; default: Console.WriteLine("Must specify on/off."); break; } break; } break; case "userinfo": switch (str.ElementAtOrDefault(1) ?? string.Empty) { case "": Console.WriteLine("Must specify a username."); break; default: User user = client.GetUserInfo(str.ElementAtOrDefault(1)); if (user == null) { Console.WriteLine("User not found."); } else { Console.WriteLine("User info - Username: {0} HasStopped: {1} Viewbot [ HasAccess: {2} Enabled: {3} Running: {4} StartTime: {5} EndTime: {6} ] IrcBot [ HasAccess: {7} Enabled: {8} Running: {9} StartTime: {10} EndTime: {11} ]", user.UserName, user.HasStopped, user.ViewBot.HasAccess, user.ViewBot.Enabled, user.ViewBot.Running, user.ViewBot.StartTime, user.ViewBot.EndTime, user.IrcBot.HasAccess, user.IrcBot.Enabled, user.IrcBot.Running, user.IrcBot.StartTime, user.IrcBot.EndTime); } break; } break; case "exit": return(false); } return(true); } catch (Exception e) { Console.WriteLine(string.Format("An exception occured when processing user input. Exception Message: {0}\nPress any key to exit.", e.Message)); Console.ReadLine(); return(false); } }