private void GetUserList(PNPage page, int limit, bool includeCount, bool includeCustom, Dictionary <string, object> externalQueryParam, PNCallback <PNGetUsersResult> callback) { if (callback == null) { throw new ArgumentException("Missing callback"); } PNPage internalPage; if (page == null) { internalPage = new PNPage(); } else { internalPage = page; } IUrlRequestBuilder urlBuilder = new UrlRequestBuilder(config, jsonLibrary, unit, pubnubLog, pubnubTelemetryMgr); urlBuilder.PubnubInstanceId = (PubnubInstance != null) ? PubnubInstance.InstanceId : ""; Uri request = urlBuilder.BuildGetAllUsersRequest(internalPage.Next, internalPage.Prev, limit, includeCount, includeCustom, externalQueryParam); RequestState <PNGetUsersResult> requestState = new RequestState <PNGetUsersResult>(); requestState.ResponseType = PNOperationType.PNGetUsersOperation; requestState.PubnubCallback = callback; requestState.Reconnect = false; requestState.EndPointOperation = this; string json = ""; requestState.UsePostMethod = false; json = UrlProcessRequest <PNGetUsersResult>(request, requestState, false); if (!string.IsNullOrEmpty(json)) { List <object> result = ProcessJsonResponse <PNGetUsersResult>(requestState, json); ProcessResponseCallbacks(result, requestState); } }
private void UpdateSpaceMembershipWithUser(string userId, List <PNMembership> addMembership, List <PNMembership> updateMembership, List <string> removeMembership, Dictionary <string, object> custom, PNPage page, int limit, bool includeCount, string includeOptions, Dictionary <string, object> externalQueryParam, PNCallback <PNMembershipsResult> callback) { if (string.IsNullOrEmpty(userId) || string.IsNullOrEmpty(userId.Trim())) { throw new ArgumentException("Missing Id"); } if (string.IsNullOrEmpty(config.SubscribeKey) || string.IsNullOrEmpty(config.SubscribeKey.Trim()) || config.SubscribeKey.Length <= 0) { throw new MissingMemberException("Invalid subscribe key"); } if (callback == null) { throw new ArgumentException("Missing userCallback"); } PNPage internalPage; if (page == null) { internalPage = new PNPage(); } else { internalPage = page; } IUrlRequestBuilder urlBuilder = new UrlRequestBuilder(config, jsonLibrary, unit, pubnubLog, pubnubTelemetryMgr); urlBuilder.PubnubInstanceId = (PubnubInstance != null) ? PubnubInstance.InstanceId : ""; Uri request = urlBuilder.BuildUpdateSpaceMembershipsWithUserRequest(userId, internalPage.Next, internalPage.Prev, limit, includeCount, includeOptions, externalQueryParam); RequestState <PNMembershipsResult> requestState = new RequestState <PNMembershipsResult>(); requestState.ResponseType = PNOperationType.PNMembershipsOperation; requestState.PubnubCallback = callback; requestState.Reconnect = false; requestState.EndPointOperation = this; string json = ""; requestState.UsePatchMethod = true; Dictionary <string, object> messageEnvelope = new Dictionary <string, object>(); if (addMembership != null) { messageEnvelope.Add("add", addMembership); } if (updateMembership != null) { messageEnvelope.Add("update", updateMembership); } if (removeMembership != null) { List <PNDeleteMembership> removeMbrshipFormat = new List <PNDeleteMembership>(); for (int index = 0; index < removeMembership.Count; index++) { if (!string.IsNullOrEmpty(removeMembership[index])) { removeMbrshipFormat.Add(new PNDeleteMembership { SpaceId = removeMembership[index] }); } } messageEnvelope.Add("remove", removeMbrshipFormat); } if (custom != null) { messageEnvelope.Add("custom", custom); } string patchMessage = jsonLibrary.SerializeToJsonString(messageEnvelope); json = UrlProcessRequest <PNMembershipsResult>(request, requestState, false, patchMessage); if (!string.IsNullOrEmpty(json)) { List <object> result = ProcessJsonResponse <PNMembershipsResult>(requestState, json); ProcessResponseCallbacks(result, requestState); } }
public MembershipsOperation Page(PNPage bookmarkPage) { this.page = bookmarkPage; return(this); }
public GetUsersOperation Page(PNPage bookmarkPage) { this.page = bookmarkPage; return(this); }