Пример #1
0
        private void LoadMessage()
        {
            try
            {
                this.Invoke(new MethodInvoker(delegate
                {
                    panel2.Enabled = false;
                }));
                var SelectedItem = (TwitterAtomationWa.Account) this.Invoke(new Func <TwitterAtomationWa.Account>(() => lsAccount.SelectedItem as TwitterAtomationWa.Account));

                Twitterizer.TwitterDirectMessageCollection messages = this.CurrentDMMessages = TwitterAtomationWa.Classes.TwitterHelper.GetDms((SelectedItem as TwitterAtomationWa.Account).ScreenName);


                List <TwitterUserAddition> Users = getSenderUser(messages);

                this.Invoke(new MethodInvoker(delegate()
                {
                    lsMessage.DataSource = Users;
                    //lsMessage.DisplayMember = "Message";
                }));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                this.Invoke(new MethodInvoker(delegate
                {
                    lsMessage.Enabled = lsAccount.Enabled = true;
                    panel2.Enabled    = true;
                }));
            }
        }
Пример #2
0
        private void JsonResult(string json)
        {
            //throw new NotImplementedException();
            try
            {
                if (json.StartsWith("{\"direct_message\":"))
                {
                    try
                    {
                        //var SelectedItem = (TwitterAtomationWa.Account)this.Invoke(new Func<TwitterAtomationWa.Account>(() => lsAccount.SelectedItem as TwitterAtomationWa.Account));

                        Twitterizer.TwitterDirectMessageCollection messages = Program.main.CurrentDMMessages = TwitterAtomationWa.Classes.TwitterHelper.GetDms(CurrentScreenName);


                        List <TwitterUserAddition> Users = Program.main.getSenderUser(messages);

                        Program.main.Invoke(new MethodInvoker(delegate()
                        {
                            Program.main.lsMessage.DataSource = Users;
                            this.Messages = messages;
                            //lsMessage.DisplayMember = "Message";
                        }));
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        Program.main.Invoke(new MethodInvoker(delegate
                        {
                            lsMessage.Enabled           = Program.main.lsAccount.Enabled = true;
                            Program.main.panel2.Enabled = true;
                        }));

                        SafeClose();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Пример #3
0
        public List <TwitterUserAddition> getSenderUser(Twitterizer.TwitterDirectMessageCollection messages)
        {
            var user = messages.Select(a => a.Sender).Union(messages.Select(aa => aa.Recipient));

            var use = from a in user
                      group a by a.ScreenName into grouping
                      select grouping;

            List <TwitterUserAddition> additions = new List <TwitterUserAddition>();

            foreach (var item in use)
            {
                additions.Add(new TwitterUserAddition(item.FirstOrDefault()));
            }


            var SelectedItem = (TwitterAtomationWa.Account) this.Invoke(new Func <TwitterAtomationWa.Account>(() => lsAccount.SelectedItem as TwitterAtomationWa.Account));

            additions.Remove(additions.FirstOrDefault(aa => aa.TwitterUser.ScreenName == SelectedItem.ScreenName));

            return(additions);
        }