public static void GetAllFilesSFTP(string PathFTPServerSalida, string LocalPathTosaveFiles, string PortNumber, string PassworDataImagenes, string UserNameDataImagenes, string HostNameDataImagenes, string SshHostKeyFingerprintDataImagenes, string SshPrivateKeyPathDataImagenesConfiguration, string SshPrivateKeyPassphraseDataImages) { try { SessionOptions Sessionobj = new SessionOptions(); Sessionobj.Protocol = Protocol.Sftp; Sessionobj.PortNumber = int.Parse(PortNumber); Sessionobj.Password = PassworDataImagenes; Sessionobj.UserName = UserNameDataImagenes; Sessionobj.HostName = HostNameDataImagenes; Sessionobj.SshHostKeyFingerprint = SshHostKeyFingerprintDataImagenes; Sessionobj.SshPrivateKeyPath = SshPrivateKeyPathDataImagenesConfiguration; Sessionobj.SshPrivateKeyPassphrase = SshPrivateKeyPassphraseDataImages; using (Session sessiones = new Session()) { sessiones.AddRawConfiguration("AgentFwd", "1"); sessiones.Open(Sessionobj); TransferOptions OpDescargas = new TransferOptions(); OpDescargas.TransferMode = TransferMode.Binary; TransferOperationResult ResultTranfer; ResultTranfer = sessiones.GetFiles(PathFTPServerSalida, LocalPathTosaveFiles, false, OpDescargas); ResultTranfer.Check(); foreach (TransferEventArgs Tran in ResultTranfer.Transfers) { Console.WriteLine("Descargado de {0} exito ", Tran.FileName); } }; } catch (Exception ex) { throw ex; } }
public static void SaveFileValidaDataImagenes(string LocalPathToPutFiles, string PathFTPServerEntrada, string PortNumber, string PassworDataImagenes, string UserNameDataImagenes, string HostNameDataImagenes, string SshHostKeyFingerprintDataImagenes, string SshPrivateKeyPathDataImagenesConfiguration, string SshPrivateKeyPassphraseDataImages) { //Ingresar solo registro Unicos string estadoDuplicado = string.Empty; try { SqlDataReader dr = null; String Conexio_String = ConfigurationManager.ConnectionStrings["cnBD"].ConnectionString; using (SqlConnection con = new SqlConnection(Conexio_String)) { con.Open(); using (SqlCommand cmd = new SqlCommand("SP_ValidacionEnvioCSVDataImagenes", con)) { cmd.CommandType = CommandType.StoredProcedure; dr = cmd.ExecuteReader(); while (dr.Read()) { estadoDuplicado = dr["BOLEAN"].ToString(); } } dr.Close(); } if (estadoDuplicado == "TRUE") { } else { //Enviaara archivo a SFTP si no es envio antes SessionOptions Sessionobj = new SessionOptions(); Sessionobj.Protocol = Protocol.Sftp; Sessionobj.PortNumber = int.Parse(PortNumber); Sessionobj.Password = PassworDataImagenes; Sessionobj.UserName = UserNameDataImagenes; Sessionobj.HostName = HostNameDataImagenes; Sessionobj.SshHostKeyFingerprint = SshHostKeyFingerprintDataImagenes; Sessionobj.SshPrivateKeyPath = SshPrivateKeyPathDataImagenesConfiguration; Sessionobj.SshPrivateKeyPassphrase = SshPrivateKeyPassphraseDataImages; using (Session sessiones = new Session()) { sessiones.AddRawConfiguration("AgentFwd", "1"); sessiones.Open(Sessionobj); TransferOptions OpDescargas = new TransferOptions(); OpDescargas.TransferMode = TransferMode.Binary; TransferOperationResult ResultTranfer; ResultTranfer = sessiones.PutFiles(LocalPathToPutFiles, PathFTPServerEntrada, false, OpDescargas); ResultTranfer.Check(); foreach (TransferEventArgs Tran in ResultTranfer.Transfers) { Console.WriteLine("Descargado al SFTP de {0} exito ", Tran.FileName); } }; } } catch (Exception ex) { throw ex; } //////////////// }