private string GetDestinationPath(string sourceDirectory, string sourcePath, string destinationDirectory) { var relativeSourcePath = _pathService.GetRelativePath(sourceDirectory, sourcePath); return(_pathService.Combine(destinationDirectory, relativeSourcePath)); }
private BinaryFileOperationSettings Create(string sourceDirectory, string sourcePath, string destinationDirectory) { var relativeSourcePath = _pathService.GetRelativePath(sourceDirectory, sourcePath); var destinationPath = _pathService.Combine(destinationDirectory, relativeSourcePath); return(new BinaryFileOperationSettings(sourcePath, destinationPath)); }
public ISuggestedPathViewModel Create(string searchText, SuggestionModel model) { var root = _pathService.GetParentDirectory(searchText); var relativePath = _pathService.GetRelativePath(root, model.FullPath); var text = _pathService.LeftTrimPathSeparators(relativePath); var type = CreateFrom(model.Type); return(new SuggestedPathViewModel(model.FullPath, type, text)); }
public async Task PackAsync(IReadOnlyList <string> files, IReadOnlyList <string> directories, string sourceDirectory, string outputFile) { await using var outStream = _fileService.OpenWrite(outputFile); using var writer = WriterFactory.Open(outStream, _archiveType, _options); var allFiles = files.Concat(directories.SelectMany(d => _directoryService.GetFilesRecursively(d))); foreach (var file in allFiles) { var entryPath = _pathService.GetRelativePath(sourceDirectory, file); writer.Write(entryPath, file); } }