public void ConnectAndDownloadEpgData(string sftpRootDirectory, string remoteFileExtensionToCheck, string localDownloadDirectory, string archiveDirectory) { try { //Connect to remote SFTP Server SftpSession.Open(SftpOptions); Console.WriteLine("Successfully connected to SFTP Server"); //List SFTP Directory SftpDirectoryInfo = SftpSession.ListDirectory(sftpRootDirectory); Console.WriteLine("Listing directory and obtaining latest file."); //Select the Most recent File LatestEpgPackage = MostRecentEpgFile(); if (!ValidateEpgPackage(remoteFileExtensionToCheck)) { return; } DownloadEpgPackage(archiveDirectory, localDownloadDirectory); } catch (Exception cadedException) { Console.WriteLine( $"[ConnectAndDownloadEpgData] Failure during sftp opertions: {cadedException.Message}"); } finally { CleanUp(); } }