Author: kwright
Date: Thu Sep  6 17:41:53 2012
New Revision: 1381693

URL: http://svn.apache.org/viewvc?rev=1381693&view=rev
Log:
Fix pagination issue

Modified:
    manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs

Modified: 
manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs
URL: 
http://svn.apache.org/viewvc/manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs?rev=1381693&r1=1381692&r2=1381693&view=diff
==============================================================================
--- manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs 
(original)
+++ manifoldcf/integration/sharepoint-2010/trunk/webservice/MCPermissions.cs 
Thu Sep  6 17:41:53 2012
@@ -110,30 +110,25 @@ namespace MetaCarta.SharePoint.SoapServe
                             listQuery.ViewAttributes = "Scope=\"Recursive\"";
                             listQuery.ViewFields = string.Concat(
                                    "<FieldRef Name='FileRef' />");
-
-
                             listQuery.RowLimit = 1000;
 
+                            XmlDocument doc = new XmlDocument();
+                            retVal = doc.CreateElement("GetListItems", 
+                                
"http://schemas.microsoft.com/sharepoint/soap/directory/";);
+                            XmlNode getListItemsNode = 
doc.CreateElement("GetListItemsResponse");
+
                             uint counter = 0;
                             do
                             {
                                 if (counter >= startRowParam + rowLimitParam)
                                     break;
 
-                                // Will this work?  Or will it reset something 
unexpected?
-                                if (startRowParam + rowLimitParam - counter < 
1000)
-                                    listQuery.RowLimit = startRowParam + 
rowLimitParam - counter;
-
                                 SPListItemCollection collListItems = 
oList.GetItems(listQuery);
 
-                                XmlDocument doc = new XmlDocument();
-                                retVal = doc.CreateElement("GetListItems", 
-                                    
"http://schemas.microsoft.com/sharepoint/soap/directory/";);
-                                XmlNode getListItemsNode = 
doc.CreateElement("GetListItemsResponse");
 
                                 foreach (SPListItem oListItem in collListItems)
                                 {
-                                    if (counter >= startRowParam)
+                                    if (counter >= startRowParam && counter < 
startRowParam + rowLimitParam)
                                     {
                                         XmlNode resultNode = 
doc.CreateElement("GetListItemsResult");
                                         XmlAttribute idAttribute = 
doc.CreateAttribute("FileRef");
@@ -144,8 +139,9 @@ namespace MetaCarta.SharePoint.SoapServe
                                     counter++;
                                 }
                                 
-                                retVal.AppendChild(getListItemsNode);
                             } while (listQuery.ListItemCollectionPosition != 
null);
+                            
+                            retVal.AppendChild(getListItemsNode);
                         }
                     }
 


Reply via email to