magritton
3/6/2015 - 8:02 PM

The code snip iterates through files in a SharePoint online library and checks them in.

The code snip iterates through files in a SharePoint online library and checks them in.

public void conductCheckInOnlineLibrary()
        {
            string strLastPosition = "";
            ClientContext cix = new ClientContext("https://dover.sharepoint.com/sites/DoverFluids/IT");
            System.Security.SecureString passWord = new System.Security.SecureString();

            foreach (char c in "Gilbert12%%".ToCharArray()) passWord.AppendChar(c);
            cix.Credentials = new SharePointOnlineCredentials("mike.gritton@opwglobal.com", passWord);

            cix.ExecuteQuery();
            List lx = cix.Web.Lists.GetByTitle("OneFluidBusinessSystems");

            var oQuery = new CamlQuery();
            //oQuery.ViewXml = "<View Scope='Recursive'><Query><Where><Neq><FieldRef Name='ContentType' /><Value Type='Text'>Folder</Value></Neq></Where></Query><RowLimit>100</RowLimit></View>";
            oQuery.ViewXml = "<View Scope='Recursive'><Query><Where><Neq><FieldRef Name='ContentType' /><Value Type='Text'>Folder</Value></Neq></Where></Query><RowLimit>100</RowLimit></View>";

            int i = 0;
            int intTotalCnt = 0;
            do
            {
                // Set the position on the query
                if (strLastPosition != "")
                {
                    ListItemCollectionPosition pos = new ListItemCollectionPosition();
                    pos.PagingInfo = strLastPosition;
                    oQuery.ListItemCollectionPosition = pos; //page info
                }

                ListItemCollection collListItems = lx.GetItems(oQuery);

                cix.Load(collListItems);
                cix.ExecuteQuery();

                if (collListItems.ListItemCollectionPosition != null)
                {
                    strLastPosition = collListItems.ListItemCollectionPosition.PagingInfo;
                }
                else
                {
                    strLastPosition = "";
                }
                foreach (ListItem oListItem in collListItems)
                {
                    i++;
                    intTotalCnt++;
                    string strFileRef = oListItem["FileRef"] == null ? "" : oListItem["FileRef"].ToString();
                    Microsoft.SharePoint.Client.File newFile = cix.Web.GetFileByServerRelativeUrl(strFileRef);
                    cix.Load(newFile);
                    cix.ExecuteQuery();
                    if (newFile.CheckOutType == CheckOutType.Offline || newFile.CheckOutType == CheckOutType.Online)
                    {
                        newFile.CheckIn("", CheckinType.MajorCheckIn);
                        Console.WriteLine("Checked in" + intTotalCnt.ToString() + " - " + i.ToString());
                    }
                    Console.WriteLine(intTotalCnt.ToString() + " - " + i.ToString());
                }
            } while (strLastPosition != "");
            
        }