private static bool RemoveFile(IFolderable file, IFolderableHost folderWrapper) { if (!folderWrapper.Files.Contains(file)) { return(folderWrapper.Files.OfType <IFolderableHost>().Any(p => RemoveFile(file, p))); } folderWrapper.Files.Remove(file); return(true); }
private static bool RemoveFolder(IFolderableHost parent, IFolderable folder) { if (!parent.Files.Contains(folder)) { return(parent.Files.Cast <IFolderableHost>().Any(p => RemoveFolder(p, folder))); } parent.Files.Remove(folder); return(true); }