Beispiel #1
0
        /// <summary>
        /// Add a remote file to folder in ascendant order of filename
        /// </summary>
        public void AddFileToFolder(IRemoteFileClass pFile)
        {
            //Check that file does not already exists in the list

            if (_RemoteFileList.Find(item => item.FileName == pFile.FileName) == null)
            {
                _RemoteFileList.Add(pFile);
                AddFilenameInStrFileList(pFile.FileName);
                RecalculateTotalFilesSize(pFile);
            }
        }
 /// <summary>
 /// Override CompareTo to compare two files on name.
 /// </summary>
 /// <param name="pCompareRemoteFildeClass">Object that needs to be compared</param>
 /// <returns></returns>
 public int CompareTo(IRemoteFileClass pCompareRemoteFildeClass)
 {
     if (pCompareRemoteFildeClass == null)
     {
         return(1);
     }
     else
     {
         return(this._fileName.CompareTo(pCompareRemoteFildeClass.FileName));
     }
 }
Beispiel #3
0
        /// <summary>Initializes the FTP request.</summary>
        /// <param name="pRemoteFile">The remote file.</param>
        /// <param name="serverIP">The server IP.</param>
        /// <param name="directoryName">Pathname of the directory.</param>
        /// <param name="userName">Name of the user.</param>
        /// <param name="strPwd">The password.</param>
        /// <param name="reqFTP">[out] The request FTP.</param>
        private static void InitializeFtpRequest(IRemoteFileClass pRemoteFile, string serverIP, string directoryName, string userName, string strPwd, out FtpWebRequest reqFTP)
        {
            string url = "ftp://" + serverIP + "/" + directoryName + "/" + pRemoteFile.FileName;

            try
            {
                //// Create FtpWebRequest object from the Uri provided
                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(url));
            }
            catch (System.Security.SecurityException ex)
            {
                reqFTP = null;
                LogManager.WriteLog(TraceType.ERROR, string.Format(CultureInfo.CurrentCulture, Resources.ExFtpLogin, pRemoteFile.FilePath), "PIS.Ground.Core.Utility.FtpUpLoader.InitializeFtpRequest", ex, EventIdEnum.GroundCore);
                return;
            }
            catch (ArgumentNullException ex)
            {
                reqFTP = null;
                LogManager.WriteLog(TraceType.ERROR, string.Format(CultureInfo.CurrentCulture, Resources.ExFtpLoginArgument, pRemoteFile.FilePath), "PIS.Ground.Core.Utility.FtpUpLoader.InitializeFtpRequest", ex, EventIdEnum.GroundCore);
                return;
            }
            catch (Exception ex)
            {
                reqFTP = null;
                LogManager.WriteLog(TraceType.ERROR, string.Format(CultureInfo.CurrentCulture, Resources.ExFtpLoginException, pRemoteFile.FilePath), "PIS.Ground.Core.Utility.FtpUpLoader.InitializeFtpRequest", ex, EventIdEnum.GroundCore);
                return;
            }

            //// Provide the WebPermission Credintials
            reqFTP.Credentials = new NetworkCredential(userName, strPwd);

            //// By default KeepAlive is true, where the control connection is not closed after a command is executed.
            reqFTP.KeepAlive = false;

            //// Specify the command to be executed.
            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

            //// Specify the data transfer type.
            reqFTP.UseBinary = true;
        }
Beispiel #4
0
 /// <summary>
 /// Recalculate the totalFileSize from _RemoteFileList with new element added
 /// </summary>
 /// <<param name="pSize">RemoteFileClass object to add to the total</param>
 private void RecalculateTotalFilesSize(IRemoteFileClass pRemoteFile)
 {
     //Add to total size
     _totalFilesSize += pRemoteFile.Size;
 }