Ejemplo n.º 1
0
        private void SSISFTPTaskUIForm_Load(object sender, EventArgs e)
        {
            try
            {
                FtpType _ftptype = FtpType.Download;
                if (taskHostValue.Properties.Contains("FtpType"))
                {
                    _ftptype = (FtpType)Enum.Parse(typeof(FtpType), taskHostValue.Properties["FtpType"].GetValue(this.taskHostValue).ToString());
                }

                SftpTransferType _transferType = SftpTransferType.Ascii;
                if (taskHostValue.Properties.Contains("TransferType"))
                {
                    _transferType = (SftpTransferType)Enum.Parse(typeof(SftpTransferType), taskHostValue.Properties["TransferType"].GetValue(this.taskHostValue).ToString());
                }

                this.cboFtpType.SelectedValue = _ftptype;//(FtpType)taskHostValue.Properties["FtpType"].GetValue(this.taskHostValue);
                cboFtpType_SelectedIndexChanged(cboFtpType, EventArgs.Empty);

                this.cboTransferType.SelectedValue = _transferType;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "SSISFTPTaskUIForm_Load()");
            }
        }
Ejemplo n.º 2
0
        protected void SetTramsferType(FtpType ftpType)
        {
            switch (ftpType)
            {
            case FtpType.ASCII:
                SendCommand("TYPE A", true);
                break;

            case FtpType.Binary:
                SendCommand("TYPE I", true);
                break;

            default:
                throw new InvalidEnumArgumentException("Invalid File Transfer Type");
            }
        }
Ejemplo n.º 3
0
        public static IFtp Create(FtpType ftpType)
        {
            Program.Logger.Info($"Initializing FTP of type {ftpType}");

            switch (ftpType)
            {
            case FtpType.GLUE:
                return(new GlueSession());

            case FtpType.PROCORE:
                return(new ProcoreSession());

            default:
                throw new Exception();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Upload a File via Ftp.
        /// </summary>
        /// <param name="ftpWebOperation">Web Operation.</param>
        /// <param name="localFilePath">Path to local file.</param>
        /// <param name="maximumLength"></param>
        /// <param name="username">Ftp Login Username.</param>
        /// <param name="password">Ftp Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentNullException">Throws if ftpWebOperation is null.</exception>
        /// <exception cref="ArgumentException">Throws if localFilePath is null or empty.</exception>
        public void FtpUploadHelper(IFtpWebOperation ftpWebOperation, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode)
        {
            if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation");
             if (String.IsNullOrEmpty(localFilePath)) throw new ArgumentException("Argument 'localFilePath' cannot be a null or empty string.");

             _ftpWebOperation = ftpWebOperation;
             _ftpWebOperation.WebOperationProgress += OnFtpWebOperationProgress;
             _ftpWebOperation.OperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
             SetFtpMode(_ftpWebOperation.FtpOperationRequest, ftpMode);

             SetNetworkCredentials(_ftpWebOperation.OperationRequest.Request, username, password);
             _ftpWebOperation.Upload(localFilePath, maximumLength);
        }
Ejemplo n.º 5
0
 protected void SetTramsferType(FtpType ftpType)
 {
     switch (ftpType)
     {
         case FtpType.ASCII:
             SendCommand("TYPE A", true);
             break;
         case FtpType.Binary:
             SendCommand("TYPE I", true);
             break;
         default:
             throw new InvalidEnumArgumentException("Invalid File Transfer Type");
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Check an FTP Connection.
        /// </summary>
        /// <param name="server">Server Name or IP.</param>
        /// <param name="port">Server Port.</param>
        /// <param name="ftpPath">Path to upload to on remote Ftp server.</param>
        /// <param name="username">Ftp Login Username.</param>
        /// <param name="password">Ftp Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentException">Throws if Server or FtpPath is null or empty.</exception>
        public void FtpCheckConnection(string server, int port, string ftpPath, string username, string password, FtpType ftpMode)
        {
            if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string.");
             if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string.");

             var ftpWebOperation = (FtpWebOperation)WebOperation.Create(new Uri(
            String.Format(CultureInfo.InvariantCulture, "ftp://{0}:{1}{2}", server, port, ftpPath)));
             FtpCheckConnection(ftpWebOperation, username, password, ftpMode);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Creates a new <see cref="FtpClient"/>.
 /// </summary>
 /// <param name="ftpType">Target <see cref="AbstractFtpClient.FtpType"/> for this <see cref="FtpClient"/></param>
 /// <param name="caseSensitive">Set to true to be case sensitive with FTP file and directory names.</param>
 public FtpClient(FtpType ftpType, bool caseSensitive = false)
 {
     FtpType       = ftpType;
     CaseSensitive = caseSensitive;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Creates a new <see cref="FtpClient"/>.
 /// </summary>
 /// <param name="ftpType">Target <see cref="VirtualFtpClient.FtpType"/> for this <see cref="FtpClient"/></param>
 /// <param name="caseSensitive">Set to true to be case sensitive with FTP file and directory names.</param>
 public FtpClient(FtpType ftpType, bool caseSensitive = DefaultCaseSensitive)
 {
     FtpType       = ftpType;
     CaseSensitive = caseSensitive;
 }
Ejemplo n.º 9
0
        /// <summary>
        /// Get the Length of the Http Download.
        /// </summary>
        /// <param name="ftpWebOperation">Web Operation.</param>
        /// <param name="username">Http Login Username.</param>
        /// <param name="password">Http Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentNullException">Throws if resourceUri is null.</exception>
        public long GetFtpDownloadLength(IFtpWebOperation ftpWebOperation, string username, string password, FtpType ftpMode)
        {
            if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation", "Argument 'httpWebOperation' cannot be null.");

             _ftpWebOperation = ftpWebOperation;
             _ftpWebOperation.WebOperationProgress += OnHttpWebOperationProgress;
             _ftpWebOperation.OperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
             SetFtpMode(ftpWebOperation.FtpOperationRequest, ftpMode);

             SetNetworkCredentials(_ftpWebOperation.OperationRequest.Request, username, password);
             return _ftpWebOperation.GetDownloadLength();
        }
Ejemplo n.º 10
0
        private static void SetFtpMode(IFtpWebOperationRequest request, FtpType ftpMode)
        {
            Debug.Assert(request != null);

             switch (ftpMode)
             {
            case FtpType.Passive:
               request.UsePassive = true;
               break;
            case FtpType.Active:
               request.UsePassive = false;
               break;
            default:
               throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
                  "FTP Type '{0}' is not valid.", ftpMode));
             }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Get the Length of the Http Download.
        /// </summary>
        /// <param name="server">Server Name or IP.</param>
        /// <param name="ftpPath">Path to download from on remote Ftp server.</param>
        /// <param name="remoteFileName">Remote file to download.</param>
        /// <param name="username">Http Login Username.</param>
        /// <param name="password">Http Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentException">Throws if Url is null or empty.</exception>
        public long GetFtpDownloadLength(string server, string ftpPath, string remoteFileName, string username, string password, FtpType ftpMode)
        {
            if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string.");
             if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string.");
             if (String.IsNullOrEmpty(remoteFileName)) throw new ArgumentException("Argument 'remoteFileName' cannot be a null or empty string.");

             return GetFtpDownloadLength(new Uri(String.Format(CultureInfo.InvariantCulture, "ftp://{0}{1}{2}",
            server, ftpPath, remoteFileName)), username, password, ftpMode);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Get the Length of the Http Download.
        /// </summary>
        /// <param name="resourceUri">Web Resource Uri.</param>
        /// <param name="username">Http Login Username.</param>
        /// <param name="password">Http Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentNullException">Throws if resourceUri is null.</exception>
        public long GetFtpDownloadLength(Uri resourceUri, string username, string password, FtpType ftpMode)
        {
            if (resourceUri == null) throw new ArgumentNullException("resourceUri", "Argument 'resourceUri' cannot be null.");

             return GetFtpDownloadLength((IFtpWebOperation)WebOperation.Create(resourceUri), username, password, ftpMode);
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Upload a File via Ftp.
 /// </summary>
 /// <param name="ftpWebOperation">Web Operation.</param>
 /// <param name="localFilePath">Path to local file.</param>
 /// <param name="username">Ftp Login Username.</param>
 /// <param name="password">Ftp Login Password.</param>
 /// <param name="ftpMode">Ftp Transfer Mode.</param>
 /// <exception cref="ArgumentNullException">Throws if ftpWebOperation is null.</exception>
 /// <exception cref="ArgumentException">Throws if localFilePath is null or empty.</exception>
 public void FtpUploadHelper(IFtpWebOperation ftpWebOperation, string localFilePath, string username, string password, FtpType ftpMode)
 {
     FtpUploadHelper(ftpWebOperation, localFilePath, -1, username, password, ftpMode);
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Check an FTP Connection.
 /// </summary>
 /// <param name="server">Server Name or IP.</param>
 /// <param name="port">Server Port.</param>
 /// <param name="ftpPath">Path to upload to on remote Ftp server.</param>
 /// <param name="username">Ftp Login Username.</param>
 /// <param name="password">Ftp Login Password.</param>
 /// <param name="ftpMode">Ftp Transfer Mode.</param>
 /// <param name="callback"></param>
 /// <exception cref="ArgumentException">Throws if Server or FtpPath is null or empty.</exception>
 public IAsyncResult BeginFtpCheckConnection(string server, int port, string ftpPath, string username, string password, FtpType ftpMode, AsyncCallback callback)
 {
     var action = new Action(() => FtpCheckConnection(server, port, ftpPath, username, password, ftpMode));
      return action.BeginInvoke(callback, action);
 }
Ejemplo n.º 15
0
        /// <summary>
        /// Upload a File via Ftp.
        /// </summary>
        /// <param name="resourceUri">Web Resource Uri.</param>
        /// <param name="localFilePath">Path to local file.</param>
        /// <param name="maximumLength"></param>
        /// <param name="username">Ftp Login Username.</param>
        /// <param name="password">Ftp Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentNullException">Throws if resourceUri is null.</exception>
        public void FtpUploadHelper(Uri resourceUri, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode)
        {
            if (resourceUri == null) throw new ArgumentNullException("resourceUri");

             FtpUploadHelper((FtpWebOperation)WebOperation.Create(resourceUri), localFilePath, maximumLength, username, password, ftpMode);
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Upload a File via Ftp.
 /// </summary>
 /// <param name="resourceUri">Web Resource Uri.</param>
 /// <param name="localFilePath">Path to local file.</param>
 /// <param name="username">Ftp Login Username.</param>
 /// <param name="password">Ftp Login Password.</param>
 /// <param name="ftpMode">Ftp Transfer Mode.</param>
 /// <exception cref="ArgumentNullException">Throws if resourceUri is null.</exception>
 public void FtpUploadHelper(Uri resourceUri, string localFilePath, string username, string password, FtpType ftpMode)
 {
     FtpUploadHelper(resourceUri, localFilePath, -1, username, password, ftpMode);
 }
Ejemplo n.º 17
0
        /// <summary>
        /// Upload a File via Ftp.
        /// </summary>
        /// <param name="server">Server Name or IP.</param>
        /// <param name="port">Server Port.</param>
        /// <param name="ftpPath">Path to upload to on remote Ftp server.</param>
        /// <param name="localFilePath">Path to local file.</param>
        /// <param name="maximumLength"></param>
        /// <param name="username">Ftp Login Username.</param>
        /// <param name="password">Ftp Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentException">Throws if Server or FtpPath, or localFilePath is null or empty.</exception>
        public void FtpUploadHelper(string server, int port, string ftpPath, string localFilePath, int maximumLength, string username, string password, FtpType ftpMode)
        {
            if (String.IsNullOrEmpty(server)) throw new ArgumentException("Argument 'server' cannot be a null or empty string.");
             if (String.IsNullOrEmpty(ftpPath)) throw new ArgumentException("Argument 'ftpPath' cannot be a null or empty string.");
             if (String.IsNullOrEmpty(localFilePath)) throw new ArgumentException("Argument 'localFilePath' cannot be a null or empty string.");

             FtpUploadHelper(new Uri(String.Format(CultureInfo.InvariantCulture, "ftp://{0}:{1}{2}{3}",
            server, port, ftpPath, Path.GetFileName(localFilePath))), localFilePath, maximumLength, username, password, ftpMode);
        }
Ejemplo n.º 18
0
 /// <summary>
 /// Upload a File via Ftp.
 /// </summary>
 /// <param name="server">Server Name or IP.</param>
 /// <param name="port">Server Port.</param>
 /// <param name="ftpPath">Path to upload to on remote Ftp server.</param>
 /// <param name="localFilePath">Path to local file.</param>
 /// <param name="username">Ftp Login Username.</param>
 /// <param name="password">Ftp Login Password.</param>
 /// <param name="ftpMode">Ftp Transfer Mode.</param>
 /// <exception cref="ArgumentException">Throws if Server or FtpPath, or localFilePath is null or empty.</exception>
 public void FtpUploadHelper(string server, int port, string ftpPath, string localFilePath, string username, string password, FtpType ftpMode)
 {
     FtpUploadHelper(server, port, ftpPath, localFilePath, -1, username, password, ftpMode);
 }
Ejemplo n.º 19
0
        /// <summary>
        /// Check an FTP Connection.
        /// </summary>
        /// <param name="ftpWebOperation">Web Operation.</param>
        /// <param name="username">Ftp Login Username.</param>
        /// <param name="password">Ftp Login Password.</param>
        /// <param name="ftpMode">Ftp Transfer Mode.</param>
        /// <exception cref="ArgumentException">Throws if ftpWebOperation is null.</exception>
        public void FtpCheckConnection(IFtpWebOperation ftpWebOperation, string username, string password, FtpType ftpMode)
        {
            if (ftpWebOperation == null) throw new ArgumentNullException("ftpWebOperation");

             ftpWebOperation.FtpOperationRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
             ftpWebOperation.FtpOperationRequest.KeepAlive = false; // Close the Request
             ftpWebOperation.FtpOperationRequest.Timeout = 5000; // 5 second timeout
             SetFtpMode(ftpWebOperation.FtpOperationRequest, ftpMode);

             SetNetworkCredentials(ftpWebOperation.OperationRequest.Request, username, password);

             ftpWebOperation.CheckConnection();
        }