예제 #1
0
        private static void GetRiamoLists(PersistentChatEndpoint persistentChatEndpoint)
        {
            PersistentChatServices pcs = persistentChatEndpoint.PersistentChatServices;

            ReadOnlyCollection <ChatRoomSnapshot> chatRooms = pcs.EndBrowseMyChatRooms(pcs.BeginBrowseMyChatRooms(null, null, 1000));

            Console.WriteLine("My Rooms:");
            DumpChatRooms(chatRooms);

            chatRooms = pcs.EndBrowseChatRoomsIManage(pcs.BeginBrowseChatRoomsIManage(null, null, 1000));
            Console.WriteLine("Rooms that I manage:");
            DumpChatRooms(chatRooms);
        }
        public static ReadOnlyCollection <ChatRoomSnapshot> RoomSearchWithFilterCriteria(PersistentChatEndpoint persistentChatEndpoint, string criteria,
                                                                                         bool searchDesc, string member, string manager, Uri categoryUri, string addinName, bool disabled, ChatRoomPrivacy?privacy,
                                                                                         ChatRoomBehavior?behavior, bool?invitations, bool searchInvites, int maxResults)
        {
            Console.WriteLine(string.Format("Searching for chat rooms with max results size of [{0}]...", maxResults));

            PersistentChatServices     chatServices       = persistentChatEndpoint.PersistentChatServices;
            ChatRoomManagementServices chatRoomManagement = chatServices.ChatRoomManagementServices;

            // get the addin guid if an addin was provided
            Guid?addinGuid = null;

            if (addinName != null)
            {
                ReadOnlyCollection <PersistentChatAddIn> addins =
                    chatRoomManagement.EndGetAllAddIns(chatRoomManagement.BeginGetAllAddIns(null, null));
                foreach (PersistentChatAddIn addin in addins.Where(addin => addin.Name.Equals(addinName)))
                {
                    addinGuid = addin.AddInId;
                    break;
                }
            }

            IAsyncResult asyncResult = chatServices.BeginBrowseChatRoomsByFilterCriteria(criteria, searchDesc,
                                                                                         member, manager,
                                                                                         categoryUri,
                                                                                         addinGuid, disabled, privacy,
                                                                                         behavior, invitations,
                                                                                         searchInvites, maxResults, null,
                                                                                         null);

            ReadOnlyCollection <ChatRoomSnapshot> chatRooms = chatServices.EndBrowseChatRoomsByFilterCriteria(asyncResult);

            Console.WriteLine(String.Format("\tFound {0} chat room(s):", chatRooms.Count));
            if (chatRooms.Count > 0)
            {
                foreach (ChatRoomSnapshot snapshot in chatRooms)
                {
                    Console.WriteLine(String.Format("\tname: {0}\n\turi:{1}", snapshot.Name, snapshot.ChatRoomUri));
                }
                return(chatRooms);
            }
            return(null);
        }
        public static ReadOnlyCollection <ChatRoomSnapshot> RoomSearchUnderCategory(PersistentChatEndpoint persistentChatEndpoint, Uri categoryUri, int maxResults = 100)
        {
            Console.WriteLine(String.Format("Searching for chat rooms under category [{0}] with max result size of [{1}]...", categoryUri, maxResults));

            PersistentChatServices chatServices = persistentChatEndpoint.PersistentChatServices;

            ReadOnlyCollection <ChatRoomSnapshot> chatRooms = chatServices.EndBrowseChatRoomsByCategoryUri(
                chatServices.BeginBrowseChatRoomsByCategoryUri(categoryUri, maxResults, null, null));

            Console.WriteLine(String.Format("\tFound {0} chat room(s):", chatRooms.Count));
            if (chatRooms.Count > 0)
            {
                foreach (ChatRoomSnapshot snapshot in chatRooms)
                {
                    Console.WriteLine(String.Format("\tname: {0}\n\turi:{1}", snapshot.Name, snapshot.ChatRoomUri));
                }
                return(chatRooms);
            }
            return(null);
        }
        public static ReadOnlyCollection <ChatRoomSnapshot> RoomSearchWithCriteria(PersistentChatEndpoint persistentChatEndpoint, string chatRoomCriteria,
                                                                                   int maxResults = 100)
        {
            Console.WriteLine(String.Format("Searching for chat room [{0}] with a maxResults set of [{1}]...", chatRoomCriteria, maxResults));

            PersistentChatServices chatServices = persistentChatEndpoint.PersistentChatServices;

            ReadOnlyCollection <ChatRoomSnapshot> chatRooms = chatServices.EndBrowseChatRoomsByCriteria(
                chatServices.BeginBrowseChatRoomsByCriteria(chatRoomCriteria, false, true, true, maxResults, null, null));

            Console.WriteLine(String.Format("\tFound {0} chat room(s):", chatRooms.Count));
            if (chatRooms.Count > 0)
            {
                foreach (ChatRoomSnapshot snapshot in chatRooms)
                {
                    Console.WriteLine(String.Format("\tname: {0}\n\turi:{1}", snapshot.Name, snapshot.ChatRoomUri));
                }
                return(chatRooms);
            }
            return(null);
        }