コード例 #1
0
        public void TeamsPagedMemberResultInitsWithNoArgs()
        {
            var result = new TeamsPagedMembersResult();

            Assert.NotNull(result);
            Assert.IsType <TeamsPagedMembersResult>(result);
        }
コード例 #2
0
        /// <summary>
        /// GET Paged teams conversation members asynchronously.
        /// </summary>
        /// <param name="conversations">Conversation instance.</param>
        /// <param name="conversationId">Conversation Id.</param>
        /// <param name="pageSize">Requested Page size</param>
        /// <param name="continuationToken">Continuation token to fetch more pages</param>
        /// <returns>Paged list of members who are part of conversation.</returns>
        public static async Task <TeamsPagedMembersResult> GetTeamsPagedConversationMembersAsync(this IConversations conversations, string conversationId, int?pageSize, string continuationToken = null)
        {
            var pagedMembersResult = await conversations.GetConversationPagedMembersAsync(conversationId, pageSize : pageSize, continuationToken : continuationToken).ConfigureAwait(false);

            var teamsPagedMembersResult = new TeamsPagedMembersResult
            {
                Members           = pagedMembersResult.Members.Select(member => member.AsTeamsChannelAccount()).ToArray(),
                ContinuationToken = pagedMembersResult.ContinuationToken
            };

            return(teamsPagedMembersResult);
        }
コード例 #3
0
        private static async Task <TeamsPagedMembersResult> GetPagedMembersAsync(IConnectorClient connectorClient, string conversationId, string continuationToken, CancellationToken cancellationToken, int?pageSize = default(int?))
        {
            if (conversationId == null)
            {
                throw new InvalidOperationException("The GetMembers operation needs a valid conversation Id.");
            }

            var pagedMemberResults = await connectorClient.Conversations.GetConversationPagedMembersAsync(conversationId, pageSize, continuationToken, cancellationToken).ConfigureAwait(false);

            var teamsPagedMemberResults = new TeamsPagedMembersResult(pagedMemberResults.ContinuationToken, pagedMemberResults.Members);

            return(teamsPagedMemberResults);
        }
コード例 #4
0
        public void TeamsPagedMemberResultInits()
        {
            var continuationToken = "myContinuationToken";
            var channel1Id        = "Channel1";
            var channel2Id        = "Channel2";
            var members           = new List <ChannelAccount>()
            {
                new ChannelAccount(channel1Id),
                new ChannelAccount(channel2Id),
            };

            var result = new TeamsPagedMembersResult(continuationToken, members);

            Assert.NotNull(result);
            Assert.IsType <TeamsPagedMembersResult>(result);
            Assert.Equal(continuationToken, result.ContinuationToken);
            var resultMembers = result.Members;

            Assert.IsType <List <TeamsChannelAccount> >(resultMembers);
            Assert.Equal(2, resultMembers.Count);
            Assert.Equal(channel1Id, resultMembers[0].Id);
            Assert.Equal(channel2Id, resultMembers[1].Id);
        }