public void OnNotifyMessage(InstanceAnswerPro.Core.Message message) { UICommandMessage message2 = message as UICommandMessage; if (message2 != null) { if (message2.CommandName == "OpenContactSessionWindow") { Buddy buddy = message2.Parameter1 as Buddy; Util_Buddy.BuddySessionParameter parameter = message2.Parameter2 as Util_Buddy.BuddySessionParameter; Point?mousePosition = null; if (parameter != null) { mousePosition = new Point?(parameter.WindowPosition); } if ((parameter == null) || (parameter.ContactSessionWindowStatus != Util_Buddy.ContactSessionWindowStatus.Avatar)) { if (!ContactSessionWindow.ActiveSessionWhenExist(buddy.Uin, mousePosition)) { this.CreateContactSessionWindow(buddy.Uin, message2.Parameter2); } } else if (!ContactSessionWindow.ActiveSessionWhenExist(buddy.Uin, mousePosition)) { //this.CreateDesktopBuddy(buddy, mousePosition); } } else if (message2.CommandName == "OpenCommunitySessionWindow") { InstanceAnswerPro.Core.Community.Community community = message2.Parameter1 as InstanceAnswerPro.Core.Community.Community; if (!CommunitySessionWindow.ActiveSessionWhenExist(this._communitySessionManager.GetCommunitySession(community.Id, true))) { this.CreateCommunitySessionWindow(community.Id); } } else if (message2.CommandName == "OpenContactSession") { ContactSessionWindow.CloseSessionWhenExist((uint)message2.Parameter1); } else if (message2.CommandName == "Conversation") { string str = message2.Parameter1 as string; UICommand.Parameter2.ConversationEventInfo info = message2.Parameter2 as UICommand.Parameter2.ConversationEventInfo; switch (str) { case "CloseConversation": CommunitySessionWindow.CloseCommunityWindowByID(info.ConversationID); return; case "RefreshConversationPic": CommunitySessionWindow.RefreshConversationPic(info.ConversationID, info.PicGuid, info.IsPicReceiveSuccess, info.Info); break; } } } }
public void OnViewMessage(InstanceAnswerPro.Core.Message message) { InfoMessage message4; InstanceAnswerPro.Core.MessageType type = message.Type; if (type != InstanceAnswerPro.Core.MessageType.ContactMessage) { if (type != InstanceAnswerPro.Core.MessageType.CommunityMessage) { if (type != InstanceAnswerPro.Core.MessageType.InfoMessage) { return; } goto Label_00B2; } } else { using (new Util_Perf.FunLog("ConversationModule.OnViewMessage MessageType.ContactMessage")) { ContactMessage message2 = message as ContactMessage; if (!ContactSessionWindow.ActiveSessionWhenExist(message2.Uin, null)) { this.CreateContactSessionWindow(message2.Uin); } return; } } using (new Util_Perf.FunLog("ConversationModule.OnViewMessage MessageType.CommunityMessage")) { CommunityMessage message3 = message as CommunityMessage; if (!CommunitySessionWindow.ActiveSessionWhenExist(this._communitySessionManager.GetCommunitySession(message3.CommunityID, true))) { this.CreateCommunitySessionWindow(message3.CommunityID); } return; } Label_00B2: message4 = message as InfoMessage; if (message4.IsCommunityMsg) { if (!CommunitySessionWindow.ActiveSessionWhenExist(this._communitySessionManager.GetCommunitySession(message4.Uin, true))) { this.CreateCommunitySessionWindow(message4.Uin); } } else if (!ContactSessionWindow.ActiveSessionWhenExist(message4.Uin, null)) { this.CreateContactSessionWindow(message4.Uin); } }
private void CreateCommunitySessionWindow(uint communityID, object parameter) { List<InstanceAnswerPro.Core.Message> list = Util_Group.PopMessages(communityID); CommunitySession communitySession = this._communitySessionManager.GetCommunitySession(communityID, true); CommunitySessionWindow window = new CommunitySessionWindow(communitySession); foreach (InstanceAnswerPro.Core.Message message in list) { window.ReceiveMessage(communitySession, message); } Util_Buddy.BuddySessionParameter parameter2 = parameter as Util_Buddy.BuddySessionParameter; if (parameter2 != null) { window.Left = parameter2.WindowPosition.X; window.Top = parameter2.WindowPosition.Y; } window.Show(); window.Activate(); }
private void CreateCommunitySessionWindow(uint communityID, object parameter) { List <InstanceAnswerPro.Core.Message> list = Util_Group.PopMessages(communityID); CommunitySession communitySession = this._communitySessionManager.GetCommunitySession(communityID, true); CommunitySessionWindow window = new CommunitySessionWindow(communitySession); foreach (InstanceAnswerPro.Core.Message message in list) { window.ReceiveMessage(communitySession, message); } Util_Buddy.BuddySessionParameter parameter2 = parameter as Util_Buddy.BuddySessionParameter; if (parameter2 != null) { window.Left = parameter2.WindowPosition.X; window.Top = parameter2.WindowPosition.Y; } window.Show(); window.Activate(); }
private void InitXaml() { ContactSessionWindow.InitXaml(); CommunitySessionWindow.InitXaml(); }