<PackageReference Include="Relativity.Transfer.Client" Version="6.0.16" />

FileLocation

public class FileLocation
using System; using System.Collections; using System.IO; namespace Aspera.Transfer { public class FileLocation { internal ArrayList paths = new ArrayList(); private bool _isValidPairs = true; private string _tempFile; public bool IsValidPairs => _isValidPairs; public string TempFileName => _tempFile; internal ArrayList getPaths() { return paths; } public void addPath(string filePath) { if (filePath != null && filePath.Trim().Length > 0) { paths.Add(new PathPair(filePath.Trim())); _isValidPairs = false; } } public void addPath(string inSrc, string inDest) { if (inDest != null && inDest != null) paths.Add(new PathPair(inSrc.Trim(), inDest.Trim())); } internal void addPath(PathPair inPair) { if (inPair != null) paths.Add(inPair); } private void clear() { paths.Clear(); } internal string buildCommand() { createTempPairFile(); string result = ""; if (paths.Count > 0) result = ((!_isValidPairs) ? ("--file-list=" + _tempFile) : ("--file-pair-list=" + _tempFile)); return result; } private void createTempPairFile() { _tempFile = Path.GetTempPath() + "faspManagerFileList" + Guid.NewGuid().ToString() + ".tmp"; using (StreamWriter streamWriter = new StreamWriter(_tempFile)) { foreach (PathPair path in paths) { streamWriter.WriteLine(path.Source); if (_isValidPairs) streamWriter.WriteLine(path.Destination); } streamWriter.Flush(); } } public string getFirstPath() { string result = ""; if (paths.Count > 0 && paths[0] != null) result = ((PathPair)paths[0]).Source; return result; } } }