Exemple #1
0
        private string GetDestinationPath(string sourceDirectory,
                                          string sourcePath, string destinationDirectory)
        {
            var relativeSourcePath = _pathService.GetRelativePath(sourceDirectory, sourcePath);

            return(_pathService.Combine(destinationDirectory, relativeSourcePath));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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);
            }
        }