///No limit on page size public List<Survey> GetSurveyList(int page, GetSurveyListSettings settings) { if (page < 1) { throw new ArgumentException("Page must be greater than 0."); } return GetSurveyListPage(page, 0, false, settings); }
//Limit the page size returned public List<Survey> GetSurveyList(int page, int pageSize, GetSurveyListSettings settings) { if (pageSize < 1 || pageSize > 1000) { throw new ArgumentException("Page size must be between 1 and 1000."); } return GetSurveyListPage(page, pageSize, true, settings); }
private List<Survey> GetSurveyListPage(int page, int pageSize, bool limitPageSize, GetSurveyListSettings settings) { RequestSettings parameters = settings.Serialized; parameters.Add("page", page); if (limitPageSize) { parameters.Add("page_size", pageSize); } return GetSurveyListRequest(parameters); }
//Auto-paging public List<Survey> GetSurveyList(GetSurveyListSettings settings) { var surveys = new List<Survey>(); bool cont = true; int page = 1; while (cont) { RequestSettings parameters = settings.Serialized; parameters.Add("page", page); var newSurveys = GetSurveyListRequest(parameters); if (newSurveys.Count > 0) { surveys.AddRange(newSurveys); } if (newSurveys.Count < 1000) { cont = false; } page++; } return surveys; }