コード例 #1
0
        public HttpResponseMessage Get(string text)
        {
            string validXML = XMLProvider.GetMatch(text);

            XDocument xmlRoot = null;
            ApiError  error   = new ApiError();

            if (!string.IsNullOrEmpty(validXML))
            {
                if (XMLProvider.IsValidRequest(validXML, ref xmlRoot, ref error))
                {
                    var result = XMLProvider.UpdateXMLwithDefalutValues(xmlRoot.Element("root"));
                    Dictionary <string, string> values = new Dictionary <string, string>();
                    foreach (var item in result.Elements())
                    {
                        if (!values.ContainsKey(item.Name.LocalName))
                        {
                            values.Add(item.Name.LocalName, item.Value);
                        }
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, values));
                }
            }
            else
            {
                error.ErrorCode    = 1403;
                error.ErrorMessage = "No valid xml found in the given content";
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest, error));
        }
コード例 #2
0
ファイル: AddPackageForm.cs プロジェクト: extra2/KRD_P1
        private void buttonAddPackage_Click(object sender, EventArgs e)
        {
            var packages      = new XMLProvider().XMLToPackages();
            var packageNumber = textBoxPackageNumber.Text;
            var clientID      = textBoxClientID.Text;
            var status        = textBoxStatus.Text;
            var time          = DateTime.Now;

            if (packages.FirstOrDefault(n => n.PackageNumber == packageNumber) == null)
            {
                packages.Add(new Package()
                {
                    ID_User           = Int32.Parse(clientID),
                    PackageNumber     = packageNumber,
                    Status            = status,
                    StatusChangedDate = time
                });
            }
            else
            {
                packages.FirstOrDefault(n => n.PackageNumber == packageNumber).Status            = status;
                packages.FirstOrDefault(n => n.PackageNumber == packageNumber).StatusChangedDate = time;
            }
            new XMLProvider().PackageToXML(packages);
            this.Close();
        }
コード例 #3
0
        private void buttonDeletePackage_Click(object sender, EventArgs e)
        {
            if (!File.Exists("packages.xml"))
            {
                File.Create("packages.xml");
            }
            var            usersInXml      = File.ReadAllText("packages.xml");
            List <Package> packagesFromXML = new XMLProvider().XMLToPackages();
            int            selectedRow;

            try
            {
                selectedRow = dataGridViewPackages.SelectedRows[0].Index;
            }
            catch (Exception)
            {
                return;
            }

            if (selectedRow >= packagesFromXML.Count || selectedRow < 0)
            {
                return;
            }
            var packageToRemove = packagesFromXML.FirstOrDefault(i => i.PackageNumber == dataGridViewPackages.Rows[selectedRow].Cells[0].Value.ToString());

            packagesFromXML.Remove(packageToRemove);
            new XMLProvider().PackageToXML(packagesFromXML);
            Reload();
        }
コード例 #4
0
        public void Setup()
        {
            mData = new List <Metadata>();

            XMLProvider p = new XMLProvider();

            mSavegameInstance = new SavegameController <SavegameTestType>(p);
            mSavegameInstance.OnMetadataList += HandleOnMetadataList;
        }
コード例 #5
0
ファイル: ClientView.cs プロジェクト: extra2/KRD_P1
        private void Reload(int clientID)
        {
            if (!File.Exists("packages.xml"))
            {
                File.Create("packages.xml");
            }
            List <Package> packagesFromXML = new XMLProvider().XMLToPackages();

            packagesFromXML = packagesFromXML.Where(e => e.ID_User == clientID).ToList();
            dataGridViewPackages.Rows.Clear();
            if (packagesFromXML != null)
            {
                foreach (var pack in packagesFromXML)
                {
                    dataGridViewPackages.Rows.Add(pack.PackageNumber, pack.Status, pack.StatusChangedDate.ToString("g"));
                }
            }
        }
コード例 #6
0
        private void Reload()
        {
            if (!File.Exists("packages.xml"))
            {
                File.Create("packages.xml");
            }
            List <Package> packagesFromXML = new XMLProvider().XMLToPackages();

            dataGridViewPackages.Rows.Clear();
            if (packagesFromXML != null)
            {
                foreach (var pack in packagesFromXML)
                {
                    dataGridViewPackages.Rows.Add(pack.PackageNumber, pack.Status, pack.StatusChangedDate.ToString("g"));
                }
            }
            //dataGridViewPackages
        }
コード例 #7
0
        private void textBoxPackageNumber_TextChanged(object sender, EventArgs e)
        {
            var searchOption = textBoxPackageNumber.Text;

            if (!File.Exists("packages.xml"))
            {
                File.Create("packages.xml");
            }
            List <Package> packagesFromXML = new XMLProvider().XMLToPackages();

            packagesFromXML = packagesFromXML.Where(f => f.PackageNumber.Contains(searchOption)).ToList();
            dataGridViewPackages.Rows.Clear();
            if (packagesFromXML != null)
            {
                foreach (var pack in packagesFromXML)
                {
                    dataGridViewPackages.Rows.Add(pack.PackageNumber, pack.Status, pack.StatusChangedDate.ToString("g"));
                }
            }
        }
コード例 #8
0
        private void LoadStreams()
        {
            if (xmlprovider == null) { xmlprovider = new XMLProvider(); }

            string[] streamlist = xmlprovider.StreamList("hitbox",true).Split(',');

            foreach (string item in streamlist)
            {
                if(!_streams.Contains(item))
                {
                    AddStream(item);
                }
            }
        }
コード例 #9
0
ファイル: BotDeathmic.cs プロジェクト: Kolpa/DeathmicChatbot
        private void OnStreamStopped(object sender, StreamEventArgs args)
        {
            if (Properties.Settings.Default.SilentMode.ToString() != "true")
            {
                if (xmlprovider == null) { xmlprovider = new XMLProvider(); }
                if (xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "starttime") != "" && Convert.ToBoolean(xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "running")))
                {
                    xmlprovider.StreamStartUpdate(args.StreamData.Stream.Channel, true);
                    string duration = DateTime.Now.Subtract(Convert.ToDateTime(xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "starttime"))).ToString("h':'mm':'ss");
                    string output = "Stream stopped after " + duration + ": " + args.StreamData.Stream.Channel;
                    List<string> NoticeTargets = new List<string>();
                    List<string> MsgsTargets = new List<string>();
                    List<NormalisedUser> UsersinChannel = new List<NormalisedUser>();
                    foreach (var user in thisclient.Channels.First().Users)
                    {
                        if (user.User.NickName != "Q" && user.User.NickName != Settings.Default.Name.ToString())
                        {
                            var updateduser = thisclient.Channels.FirstOrDefault().GetChannelUser(user.User);
                            if (updateduser != null)
                            {
                                UsersinChannel.Add(new NormalisedUser(updateduser.User.NickName));
                            }
                            else
                            {
                                UsersinChannel.Add(new NormalisedUser(user.User.NickName));
                            }
                        }
                    }
                    foreach (NormalisedUser user in UsersinChannel)
                    {
                        User userUser = getUser(user.normalised_username().ToLower());
                        if (userUser != null)
                        {
                            if (userUser.isSubscribed(args.StreamData.Stream.Channel))
                            {

                                if (!userUser.bMessages)
                                {
                                    NoticeTargets.Add(user.orig_username);
                                }
                                else
                                {
                                    MsgsTargets.Add(user.orig_username);
                                }
                            }
                        }
                        else
                        {
                            if (user.orig_username != "Q")
                            {
                                MsgsTargets.Add(user.orig_username);
                            }
                        }

                    }
                    if (NoticeTargets.Count > 0)
                    {
                        thisclient.LocalUser.SendNotice(NoticeTargets, output);
                    }
                    if (MsgsTargets.Count > 0)
                    {
                        thisclient.LocalUser.SendMessage(MsgsTargets, output);
                    }
                }
            }
        }
コード例 #10
0
ファイル: BotDeathmic.cs プロジェクト: Kolpa/DeathmicChatbot
        private void OnStreamStarted(object sender, StreamEventArgs args)
        {
            if (Properties.Settings.Default.SilentMode.ToString() != "true")
            {
                if (xmlprovider == null) { xmlprovider = new XMLProvider(); }
                if (xmlprovider.isinStreamList(args.StreamData.Stream.Channel))
                {
                    if (xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "running") == "false")
                    {
                        string game = args.StreamData.Stream.Game;

                        if (args.StreamData.Stream.Message != null)
                        {
                            game = args.StreamData.Stream.Message;
                        }
                        xmlprovider.AddStreamLivedata(args.StreamData.Stream.Channel, args.StreamData.StreamProvider.GetLink() + "/" + args.StreamData.Stream.Channel, game);
                        string output = "Stream started: " + args.StreamData.Stream.Channel + "(" + args.StreamData.Stream.Game + ": " + args.StreamData.Stream.Message + ")" + " at " + args.StreamData.StreamProvider.GetLink() + "/" + args.StreamData.Stream.Channel;
                        List<string> NoticeTargets = new List<string>();
                        List<string> MsgsTargets = new List<string>();
                        List<NormalisedUser> UsersinChannel = new List<NormalisedUser>();
                        foreach (var user in thisclient.Channels.FirstOrDefault().Users)
                        {
                            Console.WriteLine("UsersinBob: " + user.User.NickName);
                            if (user.User.NickName != "Q" && user.User.NickName != Settings.Default.Name.ToString())
                            {
                                var updateduser = thisclient.Channels.FirstOrDefault().GetChannelUser(user.User);
                                if(updateduser != null)
                                {
                                    UsersinChannel.Add(new NormalisedUser(updateduser.User.NickName));
                                }
                                else
                                {
                                    UsersinChannel.Add(new NormalisedUser(user.User.NickName));
                                }
                            }
                        }
                        foreach (NormalisedUser user in UsersinChannel)
                        {
                            User userUser = getUser(user.normalised_username().ToLower());
                            if (userUser != null)
                            {
                                if (userUser.isSubscribed(args.StreamData.Stream.Channel))
                                {

                                    if (!userUser.bMessages)
                                    {
                                        NoticeTargets.Add(user.orig_username);
                                    }
                                    else
                                    {
                                        MsgsTargets.Add(user.orig_username);
                                    }
                                }
                            }
                            else
                            {
                                if(user.orig_username != "Q")
                                {
                                    MsgsTargets.Add(user.orig_username);
                                }
                            }
                        }
                        if (NoticeTargets.Count > 0)
                        {
                            thisclient.LocalUser.SendNotice(NoticeTargets, output);
                        }
                        if (MsgsTargets.Count > 0)
                        {
                            thisclient.LocalUser.SendMessage(MsgsTargets, output);
                        }
                        xmlprovider.GlobalAnnouncementDue(args.StreamData.Stream.Channel);
                    }
                    xmlprovider.StreamStartUpdate(args.StreamData.Stream.Channel);

                }
            }
        }
コード例 #11
0
ファイル: BotDeathmic.cs プロジェクト: Kolpa/DeathmicChatbot
 protected override void OnChannelUserJoined(IrcChannel channel, IrcChannelUserEventArgs e)
 {
     if (Properties.Settings.Default.SilentMode.ToString() != "true")
     {
         if (xmlprovider == null)
         {
             xmlprovider = new XMLProvider();
         }
         ReconnectInbound = false;
         if (!e.ChannelUser.User.ToString().ToLower().Contains("andchat"))
         {
             #region whisperstatsonjoin
             NormalisedUser normaliseduser = new NormalisedUser();
             normaliseduser.orig_username = e.ChannelUser.User.ToString();
             IEnumerable<User> joineduser = LUserList.Where(x => x.isUser(normaliseduser.normalised_username()));
             if (joineduser.Count() > 0)
             {
                 Tuple<DateTime, int> VisitData = joineduser.First().visit();
                 string visitstring = "";
                 switch (VisitData.Item2)
                 {
                     case 1: visitstring = VisitData.Item2 + "st"; break;
                     case 2: visitstring = VisitData.Item2 + "nd"; break;
                     case 3: visitstring = VisitData.Item2 + "rd"; break;
                     default: visitstring = VisitData.Item2 + "th"; break;
                 }
                 String days_since_last_visit = DateTime.Now.Subtract(Convert.ToDateTime(VisitData.Item1)).ToString("d' days 'h':'mm':'ss");
                 String output = "This is " + normaliseduser.normalised_username() + "'s " + visitstring + " visit. Their last visit was on " + VisitData.Item1.ToString("dd-MM-yyyy HH:mm:ss") + " (" + days_since_last_visit + " ago)";
                 foreach (var loggingOp in LUserList.Where(x => x.bIsLoggingOp))
                     thisclient.LocalUser.SendNotice(loggingOp.Name, output);
             }
             else
             {
                 String output = "This is " + normaliseduser.normalised_username() + "'s first visit.";
                 foreach (var loggingOp in LUserList.Where(x => x.bIsLoggingOp))
                     thisclient.LocalUser.SendNotice(loggingOp.Name, output);
                 User newUser = new User();
                 XDocument Streams = XDocument.Load(Directory.GetCurrentDirectory() + "/XML/Streams.xml");
                 IEnumerable<XElement> streamchildren = from streams in Streams.Root.Elements() select streams;
                 foreach (var stream in streamchildren)
                 {
                     newUser.addStream(stream.Attribute("Channel").Value, true);
                 }
                 newUser.Name = normaliseduser.normalised_username();
                 newUser.bIsLoggingOp = false;
                 newUser.password = "";
                 newUser.bMessages = false;
                 newUser.visit();
                 LUserList.Add(newUser);
                 // TODO: Suscribe to all streams;
             }
             #endregion
             SaveUserList();
             foreach (string streamname in xmlprovider.OnlineStreamList())
             {
                 string _streamname = streamname.Replace(",", "");
                 User user = getUser(normaliseduser.normalised_username().ToLower());
                 if(user != null)
                 if (user.isSubscribed(_streamname))
                 {
                         thisclient.LocalUser.SendNotice(e.ChannelUser.User.ToString(), String.Format(
                                                     "Stream running: _{0}_ ({1}) at {2}",
                                                     _streamname,
                                                     xmlprovider.StreamInfo(_streamname, "game"),
                                                     xmlprovider.StreamInfo(_streamname, "URL")
                                                     ));
                 }
             }
             normaliseduser = null;
         }
     }
 }
コード例 #12
0
ファイル: DiscordBob.cs プロジェクト: Kolpa/DeathmicChatbot
        private void OnStreamStarted(object sender, StreamEventArgs args)
        {
            if (Properties.Settings.Default.SilentMode.ToString() != "true")
            {
                if (xmlprovider == null) { xmlprovider = new XMLProvider(); }
                if (xmlprovider.isinStreamList(args.StreamData.Stream.Channel))
                {
                    if (xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "running") == "false")
                    {
                        if(RelayBots.Where(x => x.sChannel.ToLower() == args.StreamData.Stream.Channel.ToLower()).Count() > 0 && RelayBots.Where(x => x.sChannel.ToLower() == args.StreamData.Stream.Channel.ToLower()).First().isExit == false)
                        {
                            RelayBots.Where(x => x.sChannel.ToLower() == args.StreamData.Stream.Channel.ToLower()).First().StopRelayEnd();
                        }
                        else
                        {
                            ConnectToTwitchChat(args.StreamData.Stream.Channel, true);
                        }

                        string game = args.StreamData.Stream.Game;

                        if (args.StreamData.Stream.Message != null)
                        {
                            game = args.StreamData.Stream.Message;
                        }
                        xmlprovider.AddStreamLivedata(args.StreamData.Stream.Channel, args.StreamData.StreamProvider.GetLink() + "/" + args.StreamData.Stream.Channel, game);
                        string output = "Stream started: " + args.StreamData.Stream.Channel + "(" + args.StreamData.Stream.Game + ": " + args.StreamData.Stream.Message + ")" + " at " + args.StreamData.StreamProvider.GetLink() + "/" + args.StreamData.Stream.Channel;
                        List<string> NoticeTargets = new List<string>();
                        List<string> MsgsTargets = new List<string>();
                        List<NormalisedUser> UsersinChannel = new List<NormalisedUser>();
                        foreach (var user in bot.Servers.First().Users)
                        {
                            if (user.Name != Settings.Default.Name.ToString())
                            {
                                UsersinChannel.Add(new NormalisedUser(user.Name));
                            }
                        }
                        foreach (NormalisedUser user in UsersinChannel)
                        {
                            DataFiles.User userUser = getUser(user.normalised_username().ToLower());
                            if (userUser != null)
                            {
                                if (userUser.isSubscribed(args.StreamData.Stream.Channel) || true)
                                {
                                    MsgsTargets.Add(user.orig_username);
                                }
                            }
                            else
                            {
                                if (user.orig_username != "Q")
                                {
                                    MsgsTargets.Add(user.orig_username);
                                }
                            }

                        }
                        if (MsgsTargets.Count > 0)
                        {
                            foreach (var username in MsgsTargets)
                            {
                                var client = bot.Servers.First().Users.Where(x => x.Name.ToLower() == username.ToLower()).First();
                                if (client != null)
                                {
                                    try
                                    {
                                        Console.WriteLine(client.Name);
                                        client.SendMessage(output);
                                    }catch(Exception ex)
                                    {
                                        Console.WriteLine(ex.ToString());
                                    }

                                }
                            }
                        }
                        xmlprovider.GlobalAnnouncementDue(args.StreamData.Stream.Channel);
                    }
                    xmlprovider.StreamStartUpdate(args.StreamData.Stream.Channel);

                }
            }
        }
コード例 #13
0
ファイル: DiscordBob.cs プロジェクト: Kolpa/DeathmicChatbot
        private void OnStreamStopped(object sender, StreamEventArgs args)
        {
            if (Properties.Settings.Default.SilentMode.ToString() != "true")
            {
                if (xmlprovider == null) { xmlprovider = new XMLProvider(); }
                if (xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "starttime") != "" && Convert.ToBoolean(xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "running")))
                {
                    if (RelayBots.Where(x => x.sChannel.ToLower() == args.StreamData.Stream.Channel.ToLower()).Count() > 0)
                    {
                        RelayBots.Where(x => x.sChannel.ToLower() == args.StreamData.Stream.Channel.ToLower()).First().StartRelayEnd();
                    }
                    xmlprovider.StreamStartUpdate(args.StreamData.Stream.Channel, true);
                    string duration = DateTime.Now.Subtract(Convert.ToDateTime(xmlprovider.StreamInfo(args.StreamData.Stream.Channel, "starttime"))).ToString("h':'mm':'ss");
                    string output = "Stream stopped after " + duration + ": " + args.StreamData.Stream.Channel;
                    List<string> NoticeTargets = new List<string>();
                    List<string> MsgsTargets = new List<string>();
                    List<NormalisedUser> UsersinChannel = new List<NormalisedUser>();
                    foreach (var user in bot.Servers.First().Users)
                    {
                        if (user.Name != Settings.Default.Name.ToString())
                        {
                                UsersinChannel.Add(new NormalisedUser(user.Name));
                        }
                    }
                    foreach (NormalisedUser user in UsersinChannel)
                    {
                        DataFiles.User userUser = getUser(user.normalised_username().ToLower());
                        if (userUser != null)
                        {
                            if (userUser.isSubscribed(args.StreamData.Stream.Channel))
                            {
                                MsgsTargets.Add(user.orig_username);
                            }
                        }
                        else
                        {
                            if (user.orig_username != "Q")
                            {
                                MsgsTargets.Add(user.orig_username);
                            }
                        }

                    }
                    if (MsgsTargets.Count > 0)
                    {
                        foreach(var username in NoticeTargets)
                        {
                            var client = bot.Servers.First().Users.Where(x => x.Name.ToLower() == username.ToLower()).First();
                            if(client != null)
                            {
                                client.SendMessage(output);
                            }
                        }
                    }
                }
            }
        }