示例#1
0
 public void TryAddDirectMessage(DirectMessage dm)
 {
     if (dm.Recipient.Id != Party.Id && dm.Sender.Id != Party.Id) throw new InvalidOperationException("宛先のDMTLが間違ってます");
     Query.ClearVariables();
     Query.SetVariable("DirectMessage", dm);
     if (Query.Execute().AsBoolean()) DirectMessages.Add(dm);
     if (DirectMessages.Count > Setting.Timelines.HomeDirectMessageTimelineMax) DirectMessages.RemoveAt(DirectMessages.Count - 1);
 }
示例#2
0
 public DirectMessageViewModel(DirectMessage dm, MainWindowViewModel main)
 {
     Kbtter = Kbtter.Instance;
     this.main = main;
     Source = dm;
     Text = Source.Text;
     CreatedAt = Source.CreatedAt.LocalDateTime.ToString();
     Sender = new UserViewModel(dm.Sender, main);
     IsSentByMe = dm.Sender.Id == Kbtter.Instance.AuthenticatedUser.Id;
     AnalyzeTextElements();
 }
示例#3
0
 /// <summary>
 /// ダイレクトメッセージをスタックに積む
 /// </summary>
 /// <param name="user">送ってきたユーザー</param>
 /// <param name="message">送られてきたダイレクトメッセージ</param>
 public static void StackMention(User user, CoreTweet.DirectMessage message)
 {
     if (DirectMessages == null)
     {
         DirectMessages = new ObservableCollection <DirectMessage>();
         BindingOperations.EnableCollectionSynchronization(DirectMessages, new object());
     }
     DirectMessages.Add(new DirectMessage()
     {
         User    = new UserOverviewProperties(user),
         Message = message
     });
 }
示例#4
0
 private void streamDM(DirectMessage message)
 {
     displayDirectMessage(message);
 }
示例#5
0
        private void displayDirectMessage(DirectMessage dm)
        {
            try
            {
                if (this.listView_DM.InvokeRequired)
                {
                    delegatedisplayDM d = new delegatedisplayDM(displayDirectMessage);

                    this.Invoke(d, new object[] { dm });
                }
                else
                {
                    string[] msg = 
                    {
                        dm.Sender.ScreenName.ToString(),
                        dm.Sender.Name,
                        dm.Text
                    };
                    ListViewItem item = new ListViewItem(msg);
                    item.Tag = dm;
                    
                    this.listView_DM.Items.Insert(0, item);
                }
            }
            catch (Exception ex)
            {
                util.ShowExceptionMessageBox(ex.Message, ex.StackTrace);
            }
        }
示例#6
0
        private List<DirectMessage> getTalkDm(DirectMessage dm)
        {
            User talkingUser = dm.Sender;

            var dmRecieved = tokens.DirectMessages.Received(count => 200).Where(x => x.Sender.ScreenName == talkingUser.ScreenName);
            var dmSent = tokens.DirectMessages.Sent(count => 200).Where(x => x.Recipient.ScreenName == talkingUser.ScreenName);

            List<DirectMessage> dmList = new List<DirectMessage>();
            dmList.AddRange(dmRecieved);
            dmList.AddRange(dmSent);

            var query = dmList.OrderByDescending(s => s.CreatedAt);
            List<DirectMessage> talk = query.ToList<DirectMessage>();

            return talk;
        }
 public DirectMessageItemViewModel(DirectMessage dm)
 {
     dirmes = dm;
     Initialize();
 }
示例#8
0
 public void AddMessage(DirectMessage dm)
 {
     var divm = new DirectMessageItemViewModel(dm);
     MergedMessage.Add(divm);
     if (dm.Recipient.ScreenName == TargetUserScreenName)
     {
         divm.IsSent = true;
         MyMessage.Add(divm);
     }
     else
     {
         divm.IsReceived = true;
         ReceiviedMessage.Add(divm);
     }
 }