Пример #1
0
        /// <summary>
        /// Get members of a group.
        /// </summary>
        /// <param name="group"></param>
        /// <param name="api"></param>
        /// <returns></returns>
        private static List <User> GetGroupMembers(GroupsSearchResponse group, GroupsApi api)
        {
            // The list that will contain group members
            List <User> members = new List <User>();

            foreach (var grp in group.Results)
            {
                // API call to get members
                UserEntityListing result = api.GetGroupMembers(grp.Id, 25, null, "ASC", null);

                // Add the members to the list
                members = result.Entities;
            }

            return(members);
        }
Пример #2
0
        /// <summary>
        /// Get availabe users from PureCloud
        /// </summary>
        /// <returns>List<Users>, list of object user</returns>
        public async Task <List <User> > GetAvailableUsers()
        {
            List <User> result = new List <User>();

            using (HttpClient hc = new HttpClient())
            {
                hc.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", $"Bearer {_token}");
                hc.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json");

                UserEntityListing response = new UserEntityListing();
                int pageNumber             = 1;

                do // passing trough pagination, due to 500 limited users from response
                {
                    HttpResponseMessage responseMessage = await hc.GetAsync(_uribase +
                                                                            $"/api/v2/users?pageSize={_pageUserSize}&pageNumber={pageNumber}");

                    string jsonMessage = await responseMessage.Content.ReadAsStringAsync();

                    if (responseMessage.IsSuccessStatusCode)
                    {
                        response = JsonConvert.DeserializeObject <UserEntityListing>(jsonMessage);

                        if (!response.Entities.Count.Equals(0))
                        {
                            result.AddRange(response.Entities);
                        }

                        pageNumber++;
                    }
                    else if ((int)responseMessage.StatusCode >= 300 && (int)responseMessage.StatusCode < 600)
                    {
                        throw new Exception(jsonMessage);
                    }
                } while (!response.Entities.Count.Equals(0));
            }

            return(result);
        }
 public void Init()
 {
     instance = new UserEntityListing();
 }