string ExtendedDirListSftp(string path, string user, string pass,string privateKeyFile)
{
var result = new StringBuilder();
var pathFromString = ActivityIOFactory.CreatePathFromString(path, user, pass,privateKeyFile);
var sftp = BuildSftpClient(pathFromString);
try
{
var fromPath = ExtractFileNameFromPath(pathFromString.Path);
var fileList = sftp.ListDirectory(fromPath);
sftp.Disconnect();
sftp.Dispose();
foreach(var filePath in fileList)
{
string filename = filePath.FullName;
if(filename == ".." || filename == "." || filename.EndsWith("."))
{
continue;
}
result.AppendLine(filePath.FullName);
}
}
catch(Exception ex)
{
sftp.Dispose();
Dev2Logger.Log.Error(this, ex);
throw new Exception(string.Format("Path not found {0}. Please ensure that it exists", path));
}
return result.ToString();
}