public static void AddFiles(TreeNode parentNode, IArchiveFile archiveFile, string[] Files) { if (Files == null || Files.Length <= 0 || !archiveFile.CanAddFiles) { return; } for (int i = 0; i < Files.Length; i++) { var File = ArchiveFileWrapper.FromPath(Files[i], archiveFile); string FileName = Path.GetFileName(Files[i]); //Don't add the root file name if (parentNode.FullPath != string.Empty || !(parentNode is ArchiveRootNodeWrapper)) { File.ArchiveFileInfo.FileName = Path.Combine(parentNode.FullPath, FileName); } else { File.ArchiveFileInfo.FileName = FileName; } bool HasAddedFile = archiveFile.AddFile(File.ArchiveFileInfo); if (HasAddedFile) { parentNode.Nodes.Add(File); } } }
public static void RemoveFile(ArchiveFileWrapper fileNode, IArchiveFile archiveFile) { if (!archiveFile.CanDeleteFiles) { return; } var parentNode = fileNode.Parent; bool HasRemovedFile = archiveFile.DeleteFile(fileNode.ArchiveFileInfo); if (HasRemovedFile) { parentNode.Nodes.Remove(fileNode); } }