/// <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)); } }
/// <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; }
/// <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; }