Пример #1
0
 static void Main(string[] args)
 {
     using (BotServiceClient client = new BotServiceClient("BasicHttpBinding_IBotService"))
     {
         client.Open();
         WriteMenuOptions();
         while (ProcessUserInput(client, Console.ReadLine()))
         {
             WriteMenuOptions();
         }
         client.Close();
     }
 }
Пример #2
0
        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);
                });
            }
        }
Пример #3
0
        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);
            }
        }