private void ExecuteItemDoubleClickedCommand(Friend friend) { if (null != friend) { IList <string> arMembers = new List <string>() { friend.Sid, AuthRepository.MQKeyInfo.UserSid }; var RoomInfo = this.m_GetRoomInfoService.GetRoomInfo(arMembers); if (null != RoomInfo) { var RoomCollection = ConnectionHelper.DB.GetCollection <RoomEntity>("RoomEntity"); var FindRoomQuery = Query <RoomEntity> .EQ(r => r.Sid, RoomInfo.Sid); var FindedRoom = RoomCollection.FindOne(FindRoomQuery); if (null == FindedRoom) { RoomInfo.UserSid = AuthRepository.MQKeyInfo.UserSid; RoomCollection.Save(RoomInfo); } var Parameters = new FriendDoubleClickParams(RoomInfo.Sid, RoomInfo.ActiveMemberSids, RoomInfo.UnReadMsgCount, RoomInfo.LastMsgSummary, RoomInfo.LastMsgDate, RoomInfo.ThumbnailPath); this.m_EventAggregator.GetEvent <FriendDoubleClickedEvent>().Publish(Parameters); } } }
private void FriendDoubleClicked(FriendDoubleClickParams parameters) { this.AddRoom(parameters.Sid, parameters.Members, parameters.UnReadMsgCount, parameters.LastMsgSummary, parameters.LastMsgDate, parameters.ThumbnailPath); this.CreateChattingShellOrActivate(parameters.Sid); }