Пример #1
0
        //process to upload file one by one line in configure file
        private void FileMigration(LineInfo line)
        {
            try
            {
                string indicator = line.Indicator.Trim().ToUpper();

                if (indicator.Equals(Common.Indicator_Upload_Flag, StringComparison.OrdinalIgnoreCase))
                {
                    hasUpload = true;

                    string localFileFullName = System.IO.Path.Combine(Common.Upload_Source_Folder, line.LocalFile);
                    string prdFile = line.PRDFile;
                    string backUpFile = line.BackUpFile.Replace("@Date@", DateTime.Now.ToString("yyyyMMdd"));

                    if (localFileFullName.IndexOf("*.*") > 0)
                    {
                        //upload the configure path include "*.*"
                        StarFileUplod(localFileFullName, prdFile, backUpFile);
                    }
                    else
                    {
                        //upload the configure path include fileName
                        NormalFileUplod(localFileFullName, prdFile, backUpFile, line);
                    }
                }
                //download file
                else if (indicator.Equals(Common.Indicator_Download_Flag, StringComparison.OrdinalIgnoreCase))
                {
                    hasDownload = true;
                    DownloadFile(line);
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex);
            }
        }
Пример #2
0
        /// <summary>
        /// parse file line
        /// </summary>
        /// <param name="logLine"></param>
        /// <returns></returns>
        public LineInfo ParseLine(string logLine)
        {
            LineInfo logLineInfo=null;
            string separator = "==";

            if (!logLine.StartsWith("#") && logLine.StartsWith("@") && logLine.IndexOf(separator) > 0 )
            {
                string[] splitLogLine = logLine.Split(new string[] { separator }, StringSplitOptions.RemoveEmptyEntries);

                if (splitLogLine[0].Trim().Equals(Common.Indicator_Upload_Flag, StringComparison.OrdinalIgnoreCase))
                {
                    logLineInfo = new LineInfo
                    {
                        Indicator = splitLogLine[0].Trim(),
                        LocalFile = splitLogLine[1].Trim(),
                        PRDFile = splitLogLine[2].Trim(),
                        BackUpFile = splitLogLine[3].Trim()
                    };
                }
               //for download
                else if (splitLogLine[0].Trim().Equals(Common.Indicator_Download_Flag, StringComparison.OrdinalIgnoreCase))
                {
                    logLineInfo = new LineInfo
                   {
                       Indicator = splitLogLine[0].Trim(),
                       PRDFile = splitLogLine[1].Trim(),
                   };
                }
            }
            else
            {
                logLineInfo = null;
            }

            return logLineInfo;
        }
Пример #3
0
        //download the file from configure path
        private void DownloadFile(LineInfo line)
        {
            string prdDir = FileHelper.GetDirectoryName(line.PRDFile);
            string tempDir = string.Empty;
            if (prdDir.IndexOf(":") > 0)
            {
                tempDir = prdDir.Replace(":", "").Trim();
            }
            Common.Migrate_Description.AppendLine("Starting move PRD file to DOWNLOAD folder");

            if (FileHelper.IsDirectory(line.PRDFile) || line.PRDFile.IndexOf("*.*") > 0) //download all files in the directory
            {
                string[] fileEntries = Directory.GetFiles(prdDir);

                foreach (string file in fileEntries)
                {
                    FileInfo fi = new FileInfo(file);
                    string prdFile = fi.Name;

                    string downloadFile = System.IO.Path.Combine(Common.Download_Folder, tempDir, FileHelper.GetFileName(prdFile));
                    
                    FileMove(fi.FullName, downloadFile);
                }  
            }
            else  //download the specific file
            {
                string prdFile = line.PRDFile;
                string downloadFile = System.IO.Path.Combine(Common.Download_Folder, tempDir, FileHelper.GetFileName(prdFile));
                FileMove(prdFile, downloadFile);
            }
        }
Пример #4
0
        //the configure path include the fileName one.
        private void NormalFileUplod(string localFileFullName, string prdFile, string backUpFile, LineInfo line)
        {
            //check if back up file forget include the fileName
            string backUpFileName = backUpFile;
            if (FileHelper.IsDirectory(backUpFile))
            {
                backUpFileName = Path.Combine(backUpFile, FileHelper.GetFileName(localFileFullName));
            }

            string prdFileName = prdFile;
            if (FileHelper.IsDirectory(prdFile))
            {
                prdFileName = Path.Combine(prdFile, FileHelper.GetFileName(localFileFullName));
            }

            beforeMigration = System.IO.Path.Combine(Common.Upload_Before_Folder, line.LocalFile);
            afterMigration = System.IO.Path.Combine(Common.Upload_After_Folder, line.LocalFile);

            FileUploadMigration(beforeMigration, afterMigration, backUpFileName, localFileFullName, prdFileName);
        }