public async Task <ActionResult <IEnumerable <UserDto> > > GetGroupUsers(Guid groupId) { var groupExists = await _groupRepository.GroupExists(groupId); if (!groupExists) { return(NotFound()); } var allUsersFromRepo = await _userRepository.GetUsers(); var client = await MicrosoftGraphClient.GetGraphServiceClient(); var groupUsersFromAzureAd = await _azureAdRepository .GetGroupMembers(client, groupId.ToString()); var mergedUsers = DataMerger.MergeUsersWithAzureData(allUsersFromRepo, groupUsersFromAzureAd, _mapper); return(Ok(mergedUsers)); }
public async Task <ActionResult <IEnumerable <AzureAdUserDto> > > GetGroupMembers(string groupId) { try { // Initialize the GraphServiceClient. var client = await MicrosoftGraphClient.GetGraphServiceClient(); // Load group profile. var members = await _azureAdRepository.GetGroupMembers(client, groupId); return(Ok(_mapper.Map <IEnumerable <AzureAdUserDto> >(members))); } catch (ServiceException ex) { if (ex.StatusCode == HttpStatusCode.BadRequest) { return(BadRequest()); } else { return(NotFound()); } } }