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());
                }
            }
        }