protected ZipFolderItem CreateFolderOnFileSystem2(ZipFolderItem folder) { Action action = () => NodeRepository.ZipFile.AddDirectoryByName(folder.QualifiedIdentifier); NodeRepository.PerformWriteAction(action); return(NodeRepository.GetFolderItem(folder.QualifiedIdentifier)); }
protected void DeleteFolderOnFileSystem2(ZipFolderItem folder) { Action action = () => { var entriesToRemove = folder.Node.GetDescendants(true).Select(n => n.FileEntry).ToArray(); NodeRepository.ZipFile.RemoveEntries(entriesToRemove); }; NodeRepository.PerformWriteAction(action); }
protected void MoveFolderOnFileSystem2(ZipFolderItem sourceFolder, ZipFolderItem targetFolder) { //rewrite path information on all items (just replace the path part of the folder) Action action = () => { var nodes = sourceFolder.Node.GetDescendants(true); foreach (var node in nodes) { var entry = node.FileEntry; //use the ReplaceFirst extension in case we have path duplicates //(e.g. data/files/x/data/files/ entry.FileName = entry.FileName.ReplaceFirst(sourceFolder.QualifiedIdentifier, targetFolder.QualifiedIdentifier, StringComparison.InvariantCultureIgnoreCase); } }; NodeRepository.PerformWriteAction(action); }
protected List<string> GetResourceLockChain2(ZipFolderItem folder) { return folder.Node.GetAncestors(false, false) .Select(n => n.FullName) .ToList(); }
protected void CopyFolderOnFileSystem2(ZipFolderItem sourceFolder, ZipFolderItem targetFolder) { //recurse NodeRepository.PerformWriteAction(() => CopyFolderContents(sourceFolder.Node, targetFolder.QualifiedIdentifier)); }
protected ZipFolderItem CreateFolderOnFileSystem2(ZipFolderItem folder) { Action action = () => NodeRepository.ZipFile.AddDirectoryByName(folder.QualifiedIdentifier); NodeRepository.PerformWriteAction(action); return NodeRepository.GetFolderItem(folder.QualifiedIdentifier); }
protected IEnumerable<string> GetChildFilePathsInternal2(ZipFolderItem parentFolder) { return parentFolder.Node.ChildFiles.Select(cf => cf.FullName); }
protected IEnumerable<string> GetChildFolderPathsInternal2(ZipFolderItem parentFolder) { return parentFolder.Node.ChildDirectories.Select(cd => cd.FullName); }
protected List <string> GetResourceLockChain2(ZipFolderItem folder) { return(folder.Node.GetAncestors(false, false) .Select(n => n.FullName) .ToList()); }
protected IEnumerable <string> GetChildFilePathsInternal2(ZipFolderItem parentFolder) { return(parentFolder.Node.ChildFiles.Select(cf => cf.FullName)); }
protected IEnumerable <string> GetChildFolderPathsInternal2(ZipFolderItem parentFolder) { return(parentFolder.Node.ChildDirectories.Select(cd => cd.FullName)); }