Call this method recursively:
public static void deleteExistingItemFromDestination(string listName)
{
try
{
ClientContext context = new ClientContext("https://domain.com/sites/siteColl/siteName/");
string decryptedPwd = "password";
foreach (char c in decryptedPwd)
{
securePassword.AppendChar(c);
}
context.Credentials = new NetworkCredential("user", decryptedPwd, "Domain");
Web web = context.Web;
context.Load(web);
List list = web.Lists.GetByTitle(listName);
context.Load(list);
context.ExecuteQuery();
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "@<View Scope='RecursiveAll'>"
+ "<Query>"
+ "<OrderBy><FieldRef Name='ID' Ascending='TRUE'/></OrderBy>"
+ "</Query>"
+ "<RowLimit Paged='TRUE'>5000</RowLimit>"
+ "</View>";
ListItemCollection lstcoll = list.GetItems(camlQuery);
Console.WriteLine("Starting at: "+System.DateTime.Now.ToShortTimeString());
context.Load(lstcoll);
context.ExecuteQuery();
Console.WriteLine("\r\n\r\nDeleting...");
foreach (ListItem eitem in lstcoll)
{
ListItem item = list.GetItemById(Convert.ToInt32(eitem["ID"]));
item.DeleteObject();
context.ExecuteQuery();
}
Console.WriteLine("Completed at: " + System.DateTime.Now.ToShortTimeString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.Read();
}
}
No comments:
Post a Comment