예제 #1
0
파일: Copy.cs 프로젝트: yxw027/GNSSer
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns></returns>
        public override bool Do()
        {
            var reader = new IoParamReader(this.OperationInfo.ParamFilePath);

            foreach (var item in reader)
            {
                this.CurrentParam = item;
                if (File.Exists(item.OutputPath))
                {
                    if (item.IsOverwrite)
                    {
                        var Message = "文件(夹)已存在,即将覆盖 " + item.OutputPath;
                        this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
                    }
                    else
                    {
                        var Message = "文件(夹)已存在,复制操作取消 " + item.OutputPath;
                        this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
                    }
                }

                if (Geo.Utils.FileUtil.CopyFileOrDirectory(item.InputPath, item.OutputPath, item.IsOverwrite))
                {
                    var Message = "已复制 " + item.InputPath + " 到 " + item.OutputPath;
                    this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
                }
            }
            return(true);
        }
        /// <summary>
        /// 串行计算
        /// </summary>
        /// <param name="key"></param>
        /// <param name="filePathes"></param>
        /// <param name="outPath"></param>
        protected virtual void SerialProcess(TParam item, List <string> filePathes, string outPath)
        {
            foreach (var file in filePathes)
            {
                var outFile = BuildOutputFilePath(outPath, file);
                CheckOrExecute(file, outFile, item.IsOverwrite);
            }
            var Message = "已完成 " + item.InputPath + " 到 " + item.OutputPath;

            this.OnStatedMessageProduced(StatedMessage.GetProcessed(Message));
        }
예제 #3
0
        private void SerialProcess(DoubleDifferParam item, string inPath, string outPath)
        {
            foreach (var file in Baselines)
            {
                var outFile = BuildOutputFilePath(outPath, file);
                CheckOrExecute(file, outFile, item.IsOverwrite);
            }
            var Message = "已完成 " + item.InputPath + " 到 " + item.OutputPath;

            this.OnStatedMessageProduced(StatedMessage.GetProcessed(Message));
        }
예제 #4
0
        /// <summary>
        /// 串行计算
        /// </summary>
        /// <param name="key"></param>
        /// <param name="inPath"></param>
        /// <param name="outPath"></param>
        private void SerialProcess(PointPositionParam item, string inPath, string outPath)
        {
            var files = Geo.Utils.FileUtil.GetFiles(inPath, InputFileExtension);

            foreach (var file in files)
            {
                var outFile = BuildOutputFilePath(outPath, file);
                CheckOrExecute(file, outFile, item.IsOverwrite);
            }
            var Message = "已完成 " + item.InputPath + " 到 " + item.OutputPath;

            this.OnStatedMessageProduced(StatedMessage.GetProcessed(Message));
        }
예제 #5
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns></returns>
        public override bool Do()
        {
            var reader = new DecompressParamReader(this.OperationInfo.ParamFilePath);

            foreach (var item in reader)
            {
                this.CurrentParam = item;
                Geo.Utils.CompressUtil.DecompressZ(item.InputPath, item.OutputPath, item.IsDeleteSource, item.IsOverwrite);

                var Message = "解压 " + item.InputPath + " 到 " + item.OutputPath;
                this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
            }
            return(true);
        }
예제 #6
0
        /// <summary>
        /// 执行
        /// </summary>
        /// <returns></returns>
        public override bool Do()
        {
            var reader = new IoParamReader(this.OperationInfo.ParamFilePath);

            foreach (var item in reader)
            {
                this.CurrentParam = item;

                var inPath  = item.InputPath;
                var outPath = item.OutputPath;

                var outFile = BuildOutputFilePath(outPath, inPath);
                CheckOrExecute(inPath, outFile, item.IsOverwrite);


                var Message = "已执行 " + item.InputPath + " 到 " + item.OutputPath;
                this.OnStatedMessageProduced(StatedMessage.GetProcessed(Message));
            }
            return(true);
        }
예제 #7
0
        /// <summary>
        /// 转换
        /// </summary>
        /// <param name="fileInPath">输入文件路径</param>
        /// <param name="fileOutPath">输出文件路径</param>
        /// <param name="isOverwrite"></param>
        protected void CheckOrExecute(Baseline fileInPath, string fileOutPath, bool isOverwrite)
        {
            if (File.Exists(fileOutPath))
            {
                if (isOverwrite)
                {
                    var Message = "文件" + fileOutPath + "已存在,即将覆盖 ";
                    this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
                    Execute(fileInPath, fileOutPath);
                }
                else
                {
                    var Message = "文件" + fileOutPath + "已存在,操作取消 ";
                    this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));
                }
            }
            else
            {
                var Message = "正在处理 " + fileInPath + " 到 " + fileOutPath;
                this.OnStatedMessageProduced(StatedMessage.GetProcessing(Message));

                Execute(fileInPath, fileOutPath);
            }
        }
예제 #8
0
 void ProcessEngine_OperationStatedMessageProduced(StatedMessage StatedMessage)
 {
     this.progressBarComponent1.ShowInfo(StatedMessage.Message);
     ShowInfo(StatedMessage.Message);
 }