private async Task <Group> GetGroupAsync(GraphServiceClient graphClient) { IGraphServiceGroupsCollectionPage groups = await graphClient.Groups.Request() .Filter($"startswith(displayName,'{_configuration["GroupName"]}')") .GetAsync(); Group group; bool firstIteration = true; do { if (!firstIteration) { groups = await groups.NextPageRequest .Filter($"startswith(displayName,'{_configuration["GroupName"]}')") .GetAsync(); } firstIteration = false; group = groups.FirstOrDefault(g => g.DisplayName.Equals(_configuration["GroupName"], StringComparison.InvariantCultureIgnoreCase)); } while (group == null && groups?.NextPageRequest != null); return(group); }
public async Task <Group> FindGroupByDisplayNameOrMail(string value, CancellationToken token) { try { IGraphServiceGroupsCollectionPage groups = await client.Groups.Request() .Filter($"displayName eq '{value}' or mail eq '{value}'") .GetAsync(token); return(groups.FirstOrDefault()); } catch (Exception ex) { Trace.WriteLine(ex, $"Error locating group by displayName or mail using value {value}."); } return(null); }