FileStore.FileStore.DeleteFolder C# (CSharp) Method

DeleteFolder() public method

Deletes a folder.
public DeleteFolder ( string path ) : void
path string The folder path.
return void
        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);
        }