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