/// <summary> /// Get a page's worth of Schedules listing /// </summary> /// <param name="onlineSchedules"></param> /// <param name="pageToRequest">Page # we are requesting (1 based)</param> /// <param name="totalNumberPages">Total # of pages of data that Server can return us</param> private void ExecuteRequest_ForPage(List <SiteSchedule> onlineSchedules, int pageToRequest, out int totalNumberPages) { int pageSize = _onlineUrls.PageSize; //Create a web request, in including the users logged-in auth information in the request headers var urlQuery = _onlineUrls.Url_SchedulesList(_onlineSession, pageSize, pageToRequest); _onlineSession.StatusLog.AddStatus("Web request: " + urlQuery, -10); XmlDocument xmlDoc = ResourceSafe_PerformWebRequest_GetXmlDocument(urlQuery, "get schedules list"); //var webRequest = CreateLoggedInWebRequest(urlQuery); //webRequest.Method = "GET"; //var response = GetWebReponseLogErrors(webRequest, "get schedules list"); //var xmlDoc = GetWebResponseAsXml(response); //Get all the schedule nodes var nsManager = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline"); var schedules = xmlDoc.SelectNodes("//iwsOnline:schedule", nsManager); //Get information for each of the data sources foreach (XmlNode itemXml in schedules) { try { var thisSchedule = new SiteSchedule(itemXml); onlineSchedules.Add(thisSchedule); SanityCheckSchedule(thisSchedule, itemXml); } catch { AppDiagnostics.Assert(false, "Schedule parse error"); _onlineSession.StatusLog.AddError("Error parsing schedule: " + itemXml.OuterXml); } } //end: foreach //------------------------------------------------------------------- //Get the updated page-count //------------------------------------------------------------------- totalNumberPages = DownloadPaginationHelper.GetNumberOfPagesFromPagination( xmlDoc.SelectSingleNode("//iwsOnline:pagination", nsManager), pageSize); }