Example #1
0
        /// <summary>
        /// This method is to create batch request for Graph API calls.
        /// </summary>
        /// <param name="queries">List of graph queries.</param>
        /// <param name="httpMethod">String denoting HTTP method.</param>
        /// <param name="groupIds">List of strings of group Ids.</param>
        /// <returns>A <see cref="MSGraphBatchRequest"/> representing the batch request for Graph API calls.</returns>
        public static List <MSGraphBatchRequest> CreateBatchRequestPayloadForGroups(string[] queries, string httpMethod, List <string> groupIds)
        {
            List <MSGraphBatchRequest> request = new List <MSGraphBatchRequest>();
            int queryCount = 0;

            foreach (string query in queries)
            {
                foreach (string groupId in groupIds)
                {
                    string id = groupId;
                    if (queryCount > 0)
                    {
                        id = groupId + queryCount;
                    }

                    MSGraphBatchRequest batchRequest = new MSGraphBatchRequest()
                    {
                        Id     = id,
                        Method = httpMethod,
                        URL    = string.Format(query, groupId),
                    };
                    request.Add(batchRequest);
                }

                queryCount++;
            }

            return(request);
        }
Example #2
0
        /// <summary>
        /// This method is to create batch request for Graph API calls.
        /// </summary>
        /// <param name="query">Graph query.</param>
        /// <param name="httpMethod">String denoting HTTP method.</param>
        /// <param name="peoplePresenceDataList">List of strings of user principal names.</param>
        /// <returns>A <see cref="MSGraphBatchRequest"/> representing the batch request for Graph API calls.</returns>
        public static List <MSGraphBatchRequest> CreateBatchRequestPayloadForPresence(string query, string httpMethod, List <PeoplePresenceData> peoplePresenceDataList)
        {
            List <MSGraphBatchRequest> request = new List <MSGraphBatchRequest>();

            foreach (PeoplePresenceData peoplePresenceData in peoplePresenceDataList)
            {
                MSGraphBatchRequest batchRequest = new MSGraphBatchRequest()
                {
                    Id     = peoplePresenceData.UserPrincipalName,
                    Method = httpMethod,
                    URL    = string.Format(query, peoplePresenceData.Id),
                };
                request.Add(batchRequest);
            }

            return(request);
        }