void OnPrivateMessage(string fromUserName, string toUserName, string message) { Trace.Call(fromUserName, toUserName, message); string targetChat; string targetUser; if (fromUserName == Username) { targetChat = toUserName; targetUser = toUserName; } else { targetChat = fromUserName; targetUser = fromUserName; } var chat = (PersonChatModel)GetChat(targetChat, ChatType.Person); if (chat == null) { var person = CreatePerson(targetUser); chat = new PersonChatModel(person, targetUser, targetUser, this); chat.InitMessageBuffer(MessageBufferPersistencyType.Volatile); Session.AddChat(chat); Session.SyncChat(chat); } var builder = CreateMessageBuilder <JabbrMessageBuilder>(); if (fromUserName == Username) { builder.AppendSenderPrefix(Me); } else { builder.AppendSenderPrefix(chat.Person, true); } builder.AppendMessage(message); Session.AddMessageToChat(chat, builder.ToMessage()); }
public override void OpenChat(FrontendManager fm, ChatModel chat) { Trace.Call(fm, chat); switch (chat.ChatType) { case ChatType.Person: var personChat = (PersonChatModel)GetChat(chat.ID, ChatType.Person); if (personChat != null) { return; } var person = CreatePerson(chat.ID); personChat = new PersonChatModel(person, chat.ID, chat.ID, this); personChat.InitMessageBuffer(MessageBufferPersistencyType.Volatile); Session.AddChat(personChat); Session.SyncChat(personChat); break; case ChatType.Group: Client.JoinRoom(chat.ID); break; } }
void OnPrivateMessage(string fromUserName, string toUserName, string message) { Trace.Call(fromUserName, toUserName, message); string targetChat; string targetUser; if (fromUserName == Username) { targetChat = toUserName; targetUser = toUserName; } else { targetChat = fromUserName; targetUser = fromUserName; } var chat = (PersonChatModel) GetChat(targetChat, ChatType.Person); if (chat == null) { var person = CreatePerson(targetUser); chat = new PersonChatModel(person, targetUser, targetUser, this); chat.InitMessageBuffer(MessageBufferPersistencyType.Volatile); Session.AddChat(chat); Session.SyncChat(chat); } var builder = CreateMessageBuilder<JabbrMessageBuilder>(); if (fromUserName == Username) { builder.AppendSenderPrefix(Me); } else { builder.AppendSenderPrefix(chat.Person, true); } builder.AppendMessage(message); Session.AddMessageToChat(chat, builder.ToMessage()); }
public override void OpenChat(FrontendManager fm, ChatModel chat) { Trace.Call(fm, chat); switch (chat.ChatType) { case ChatType.Person: var personChat = (PersonChatModel) GetChat(chat.ID, ChatType.Person); if (personChat != null) { return; } var person = CreatePerson(chat.ID); personChat = new PersonChatModel(person, chat.ID, chat.ID, this); personChat.InitMessageBuffer(MessageBufferPersistencyType.Volatile); Session.AddChat(personChat); Session.SyncChat(personChat); break; case ChatType.Group: Client.JoinRoom(chat.ID); break; } }
private ChatModel OpenPrivateChat(decimal userId) { ChatModel chat = Session.GetChat( userId.ToString(), ChatType.Person, this ); if (chat != null) { return chat; } TwitterUser user = TwitterUser.Show(f_OAuthTokens, userId, f_OptionalProperties); PersonModel person = CreatePerson(user); PersonChatModel personChat = new PersonChatModel( person, user.Id.ToString(), user.ScreenName, this ); personChat.InitMessageBuffer( MessageBufferPersistencyType.Volatile ); personChat.ApplyConfig(Session.UserConfig); Session.AddChat(personChat); Session.SyncChat(personChat); return personChat; }