public static async Task <User[]> GetAllAsync(this IGroupMembersCollectionWithReferencesRequest request) { var collectionPage = await request.GetAsync(); return(await GetAllAsync(collectionPage) .ContinueWith(i => i.Result.OfType <User>().ToArray())); }
// GET group members and page through the results (10 at a time) public async Task <ActionResult> GroupMembers(string groupId, string nextLink) { // Show the profile of a user after a user is clicked from the search. var client = GetGraphServiceClient(); List <User> userMembers = new List <User>(); IGroupMembersCollectionWithReferencesPage members = new GroupMembersCollectionWithReferencesPage(); IGroupMembersCollectionWithReferencesRequest membersRequest = null; try { if (groupId != null) { var group = await client.Groups[groupId].Request().Select("displayName,id").GetAsync(); ViewBag.groupId = groupId; ViewBag.groupName = group.DisplayName; membersRequest = client.Groups[groupId].Members.Request().Top(10); } members = await membersRequest.GetAsync(); foreach (DirectoryObject d in members.CurrentPage) { User u = d as User; userMembers.Add(u); } } catch (Exception) { // no users? } return(View(userMembers)); }
/// <summary> /// Initializes the NextPageRequest property. /// </summary> public void InitializeNextPageRequest(IBaseClient client, string nextPageLinkString) { if (!string.IsNullOrEmpty(nextPageLinkString)) { this.NextPageRequest = new GroupMembersCollectionWithReferencesRequest( nextPageLinkString, client, null); } }
public static async Task <DirectoryObject[]> GetAllAsync(this IGroupMembersCollectionWithReferencesRequest pagedCollectionRq) { var list = new List <DirectoryObject>(); var collectionRequest = pagedCollectionRq; while (true && collectionRequest != null) { var pageList = await collectionRequest.GetAsync(); if (pageList.CurrentPage.Count > 0) { list.AddRange(pageList.CurrentPage); collectionRequest = pageList.NextPageRequest; } else { break; } } return(list.ToArray()); }
public static async Task <DirectoryObject[]> GetAllAsync(this IGroupMembersCollectionWithReferencesRequest request) { var collectionPage = await request.GetAsync(); return(await GetAllAsync(collectionPage)); }