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); }
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(); }
/// <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 }); }
private void streamDM(DirectMessage message) { displayDirectMessage(message); }
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); } }
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(); }
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); } }