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