public async Task<BoxCollection<BoxGroupMembership>> GetAllGroupMembershipsForUserAsync(string userId, int? limit = null, int? offset = null,
List<string> fields = null, bool autoPaginate = false)
{
userId.ThrowIfNullOrWhiteSpace("userId");
BoxRequest request = new BoxRequest(_config.UserEndpointUri, string.Format(Constants.GroupMembershipPathString, userId))
.Param(ParamFields, fields)
.Param("limit", limit.ToString())
.Param("offset", offset.ToString());
if (autoPaginate)
{
if (!limit.HasValue)
{
limit = 100;
request.Param("limit", limit.ToString());
}
if (!offset.HasValue)
request.Param("offset", "0");
return await AutoPaginateLimitOffset<BoxGroupMembership>(request, limit.Value);
}
else
{
IBoxResponse<BoxCollection<BoxGroupMembership>> response = await ToResponseAsync<BoxCollection<BoxGroupMembership>>(request).ConfigureAwait(false);
return response.ResponseObject;
}
}