Exemple #1
0
        public async Task <SFTPConnection> ConnectToSFTP([ActivityTrigger] FTPConnectionInfo fTPConnectionInfo)
        {
            await Task.Delay(2000);

            return(new SFTPConnection
            {
                Status = "connected",
            });
        }
Exemple #2
0
        private Result TestConnection()
        {
            Cursor.Current = Cursors.WaitCursor;
            FTPConnectionInfo connectionInfo = new FTPConnectionInfo();

            connectionInfo.ServerName = txtServerName.Text;
            connectionInfo.Username   = txtUserName.Text;
            connectionInfo.Password   = txtPassword.Text;

            return(connectionInfo.TestConnection());
        }
Exemple #3
0
        public static async Task <List <string> > RunOrchestrator(
            [OrchestrationTrigger] IDurableOrchestrationContext context
            )
        {
            var outputLogs = new List <string>();

            // Integration Flow

            // 1- Get Secure Info From KeyVault
            var keyvaultKey = "company-ftp-information-key";

            FTPConnectionInfo sftpConnectionInfo = await context.CallActivityAsync <FTPConnectionInfo>("GetFTPInfoFromVault", keyvaultKey);

            outputLogs.Add("SFTP Connection Info Fetched Successfully From Keyvault");

            // 2- Connect to FTP Client
            SFTPConnection ftpConnection = await context.CallActivityAsync <SFTPConnection>("SFTPGetConnection", sftpConnectionInfo);

            outputLogs.Add("SFTP Connected Successfully");

            // 3- Fetch List of Files From SFTP
            ftpConnection.Directory = "client/directory/path";

            List <SFTPFile> filesList = await context.CallActivityAsync <List <SFTPFile> >("SFTPGetFilesList", ftpConnection);

            outputLogs.Add("SFTP Files List Fetched Successfully");

            // 4- Start Processing Files
            List <string> filesImportLogs = await context.CallSubOrchestratorAsync <List <string> >("EMG_FilesProcessor", filesList);

            outputLogs.AddRange(filesImportLogs);
            outputLogs.Add($"{filesImportLogs.Count} SFTP Files Processed Successfully");


            return(outputLogs);
        }