public void DeleteFolder(string path)
{
if(path == null) {
throw new ArgumentNullException("path");
}
StoreFolder parent;
StoreFolder folder = GetFolder(path, out parent);
// don't delete root folder
if(parent == folder) {
return;
}
// delete all the subfolders
while(folder.Subfolders.Keys.Count > 0) {
DeleteFolder(path + "\\" + folder.Subfolders.Keys[0]);
}
// delete all files
while(folder.Files.Count > 0) {
DeleteFile(path + "\\" + folder.Files.Keys[0]);
}
// delete the folder from the parent
parent.Subfolders.Remove(folder.Name);
}