public ActivitySearchResultsContainer FindActivities(ActivitySearchFilters filters) { string url = BuildSearchUrl(filters); Debug.WriteLine("FindActivities: {0}", (object)url); var request = HttpUtils.CreateRequest(url, session.Cookies); var response = (HttpWebResponse)request.GetResponse(); string responseText = response.GetResponseAsString(); return(ActivitySearchResultsContainer.ParseJson(responseText)); }
private static string BuildSearchUrl(ActivitySearchFilters filters) { // Example URL // http://connect.garmin.com/proxy/activity-search-service-1.2/json/activities?currentPage=1&sortOrder=DESC&limit=100 // http://connect.garmin.com/proxy/activity-search-service-1.2/json/activities?currentPage=1&sortOrder=DESC&limit=100&beginTimestamp%3E=2012-11-24T03:00:00 const string serviceUrl = "http://connect.garmin.com/proxy/activity-search-service-1.2/json/activities"; var queryString = filters.ToQueryString(); return(String.Format("{0}?{1}", serviceUrl, queryString)); }
public List <Activity> FindAllActivities(ActivitySearchFilters filters) { filters.Page = 0; var activities = new List <Activity>(); ActivitySearchResultsContainer results; do { filters.Page++; Debug.WriteLine("Searching page {0}", filters.Page); results = FindActivities(filters); activities.AddRange(results.Results.Activities.Select(a => a.Activity)); Debug.WriteLine("Found page {0} or {1}", results.Results.CurrentPage, results.Results.TotalPages); } while (results.Results.CurrentPage < results.Results.TotalPages); return(activities); }