private bool RemoveFolderLocally(string folderPath)
{
SleepWhileSuspended();
// Folder has been deleted on server, delete it locally too.
try
{
Logger.Info("Removing remotely deleted folder: " + folderPath);
Directory.Delete(folderPath, true);
}
catch (Exception e)
{
ProcessRecoverableException("Could not delete tree:" + folderPath, e);
return false;
}
// Delete folder from database.
if (!Directory.Exists(folderPath))
{
var syncFolderItem = database.GetFolderSyncItemFromLocalPath(folderPath);
if (null == syncFolderItem)
{
syncFolderItem = SyncItemFactory.CreateFromLocalPath(folderPath, true, repoInfo, database);
}
database.RemoveFolder(syncFolderItem);
}
return true;
}