/// <summary>
        /// 解析上传的zip文件,返回解析日志
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        private StringBuilder ParseZipFile(HttpPostedFile file)
        {
            StringBuilder logger = new StringBuilder();
            try
            {
                UploadProgressStatus status = new UploadProgressStatus();
                status.CurrentStep = 1;
                status.MinStep = 0;
                status.MaxStep = WfImportTemplateExecutor.MaxStep;

                WfImportTemplateExecutor executor = new WfImportTemplateExecutor(file.InputStream, info =>
                {
                    logger.Append(info);
                    status.CurrentStep++;
                    status.Response();
                });

                executor.Execute();
            }
            catch (Exception ex)
            {
                logger.AppendFormat("导入错误,{0},错误堆栈:{1}", ex.Message, ex.StackTrace);
            }

            return logger;
        }
コード例 #2
0
        public void ImportProcessTemplateExecutorTest()
        {
            IWfProcessDescriptor processDesp = CreateTestProcessDescriptor();

            WfSaveTemplateExecutor createExecutor = new WfSaveTemplateExecutor(processDesp);

            createExecutor.Execute();

            MemoryStream stream = new MemoryStream();

            WfProcessExporter.ExportProcessDescriptors(new WfExportProcessDescriptorParams(), stream, processDesp.Key);

            stream.Seek(0, SeekOrigin.Begin);

            WfImportTemplateExecutor importTemplateExecutor = new WfImportTemplateExecutor(stream);

            importTemplateExecutor.Execute();

            Assert.AreEqual(1, importTemplateExecutor.ImportedProcesses.Count);
            Assert.AreEqual(processDesp.Key, importTemplateExecutor.ImportedProcesses[0].Key);
        }
コード例 #3
0
        public string ImportProcessDescriptors(Stream inputStream)
        {
            OperationContext.Current.FillContextToOguServiceContext();

            StringBuilder logger = new StringBuilder();

            WfImportTemplateExecutor executor = new WfImportTemplateExecutor(inputStream, info => logger.Append(info));

            executor.Execute();

            return logger.ToString();
        }