Hi, I'm running a script to remove files from /Documents. It runs ok on the first folder but then I get an error on the 2nd folder. I've created the script this way because includeSubfolders set to true was not working at all, so I tried this way. (includeSubfolders = False)
foreach (string subfolder in subfolders)
{
engine.GenerateInformation($"Folder:{subfolder}");
string folderName = subfolder;
try
{
GetDocumentsMessage request = new GetDocumentsMessage(folderName, includeSubfolders);
GetDocumentsResponseMessage response = Engine.SLNet.SendSingleResponseMessage(request) as GetDocumentsResponseMessage;
String[] documentOverview = response.Sa.Sa;
for (int i = 0; i < documentOverview.Length; i = i + 5)
{
DateTime lastWriteTime = DateTime.Parse(documentOverview[i + 3]);
// engine.GenerateInformation($"document: {documentOverview[i]} last write time: {lastWriteTime}");
// engine.GenerateInformation("document: " + documentOverview[i] + "last write time:" + documentOverview[i+3]); // last write time
if (dateTimeNow - lastWriteTime > TimeSpan.FromDays(90)) // 3 months
{
try
{
DeleteDocumentMessage deleteRequest = new DeleteDocumentMessage
{
Document = documentOverview[i],
Element = folderName,
Web = false,
};
var deleteResponse = Engine.SLNet.SendSingleResponseMessage(deleteRequest);
engine.GenerateInformation($"document: {documentOverview[i]} last write time: {lastWriteTime} DELETED");
}
catch (Exception e)
{
engine.ExitFail("Error: " + e);
}
}
else
{
engine.GenerateInformation($"document: {documentOverview[i]} last write time: {lastWriteTime} KEPT");
}
}
}
catch (Exception ex)
{
engine.ExitFail($"error processing folder {subfolder} Error:{ex.Message}");
}
}
It's failing at this line on the second iteration. var deleteResponse = Engine.SLNet.SendSingleResponseMessage(deleteRequest);
I'm not sure why, can anyone help?
Thanks,
Ross