/// <summary> /// Download Files /// </summary> private void DownloadFiles() { using (FtpConnection ftpConnection = this.CreateFtpConnection()) { if (!string.IsNullOrEmpty(this.WorkingDirectory.Get(this.ActivityContext))) { if (!Directory.Exists(this.WorkingDirectory.Get(this.ActivityContext))) { Directory.CreateDirectory(this.WorkingDirectory.Get(this.ActivityContext)); } this.LogBuildMessage(string.Format(CultureInfo.CurrentCulture, "Setting Local Directory: {0}", this.WorkingDirectory.Get(this.ActivityContext)), BuildMessageImportance.Low); FtpConnection.SetLocalDirectory(this.WorkingDirectory.Get(this.ActivityContext)); } ftpConnection.LogOn(); if (!string.IsNullOrEmpty(this.RemoteDirectoryName.Get(this.ActivityContext))) { ftpConnection.SetCurrentDirectory(this.RemoteDirectoryName.Get(this.ActivityContext)); } this.LogBuildMessage("Downloading Files", BuildMessageImportance.Low); if (this.FileNames == null) { FtpFileInfo[] filesToDownload = ftpConnection.GetFiles(); foreach (FtpFileInfo fileToDownload in filesToDownload) { this.LogBuildMessage(string.Format(CultureInfo.CurrentCulture, "Downloading: {0}", fileToDownload), BuildMessageImportance.Low); ftpConnection.GetFile(fileToDownload.Name, false); } } else { foreach (string fileName in this.FileNames.Get(this.ActivityContext)) { try { this.LogBuildMessage(string.Format(CultureInfo.CurrentCulture, "Downloading: {0}", fileName), BuildMessageImportance.Low); ftpConnection.GetFile(fileName, false); } catch (FtpException ex) { this.LogBuildWarning(string.Format(CultureInfo.CurrentCulture, "There was an error downloading file: {0}. The Error Details are \"{1}\" and error code is {2} ", fileName, ex.Message, ex.ErrorCode)); } } } } }