Exemplo n.º 1
0
        public void ExcelToWfCreateClientDynamicProcessParamsTest()
        {
            const string processKey = "c8d2a844-0000-bb51-4ab0-1563a40d2b58";
            WfCreateClientDynamicProcessParams processParams = ProcessDescriptorHelper.CreateClientDynamicProcessParams();

            processParams.Key = processKey;

            WfCreateClientDynamicProcessParams result  = null;
            WfClientDynamicProcessBuilder      builder = new WfClientDynamicProcessBuilder(processParams);
            WfClientProcessDescriptor          client  = builder.Build(processParams.Key, processParams.Name);

            WfClientServiceBrokerContext.Current.Context[Consts.TenantCode] = "Test1";                                 // GetCurrentTenantCode();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(client);                                     //数据准备

            using (Stream stream = WfClientProcessDescriptorServiceProxy.Instance.WfDynamicProcessToExcel(processKey)) //EXCEL文件流
            {
                result = WfClientProcessDescriptorServiceProxy.Instance.ExcelToWfCreateClientDynamicProcessParams(processKey, stream);
            }

            processParams.ActivityMatrix.PropertyDefinitions.ForEach(action =>
            {
                action.DataType = ColumnDataType.String;
            }); //EXCEL 无法存储类型信息,所有默认都为string类型

            processParams.AreSame(result);
        }
Exemplo n.º 2
0
        public void ExcelToSaveDescriptorTest()
        {
            const string processKey = "c8d2a844-3a3a-bb51-4ab0-1563a40d2b58";
            WfCreateClientDynamicProcessParams processParams = ProcessDescriptorHelper.CreateClientDynamicProcessParams();

            processParams.Key = processKey;

            WfClientDynamicProcessBuilder builder = new WfClientDynamicProcessBuilder(processParams);
            WfClientProcessDescriptor     client  = builder.Build(processParams.Key, processParams.Name);

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(client);//数据准备

            WfClientProcessDescriptor server = null;

            using (Stream stream = WfClientProcessDescriptorServiceProxy.Instance.WfDynamicProcessToExcel(processKey)) //EXCEL文件流
            {
                WfClientProcessDescriptorServiceProxy.Instance.DeleteDescriptor(processKey);                           //清理
                //校验清理结果
                try
                {
                    server = WfClientProcessDescriptorServiceProxy.Instance.GetDescriptor(processKey);
                }
                catch (MCS.Library.WcfExtensions.WfClientChannelException ex)
                {
                    Assert.IsTrue(true, ex.Message);
                }
                WfClientServiceBrokerContext.Current.Context[Consts.TenantCode] = "Test1";// GetCurrentTenantCode();


                WfClientProcessDescriptorServiceProxy.Instance.ExcelToSaveDescriptor(processKey, stream);
                server = WfClientProcessDescriptorServiceProxy.Instance.GetDescriptor(processKey);
                Assert.AreEqual(processParams.ProgramName, server.ProgramName);
                // Assert.AreEqual("Test1", server.Properties));
            }
        }
Exemplo n.º 3
0
        public void WfDynamicProcessToExcelTest()
        {
            string processKey = "c8d2a844-0003-bb51-4ab0-1563a40d2b58";
            WfCreateClientDynamicProcessParams processParams = ProcessDescriptorHelper.CreateClientDynamicProcessParams();

            processParams.Key = processKey;
            WfClientDynamicProcessBuilder builder = new WfClientDynamicProcessBuilder(processParams);
            WfClientProcessDescriptor     client  = builder.Build(processParams.Key, processParams.Name);

            WfClientServiceBrokerContext.Current.Context[Consts.TenantCode] = "Test1";// GetCurrentTenantCode();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(client);

            System.Data.DataTable processTable = null;
            System.Data.DataTable matrixTable  = null;

            using (Stream stream = WfClientProcessDescriptorServiceProxy.Instance.WfDynamicProcessToExcel(processKey))
            {
                processTable = DocumentHelper.GetRangeValuesAsTable(stream, "Process", "A3");
                matrixTable  = DocumentHelper.GetRangeValuesAsTable(stream, "Matrix", "A3");
            }
            Assert.IsTrue(processTable.Rows.Count > 0);
            Assert.IsTrue(matrixTable.Rows.Count == 2);
            Assert.IsTrue(matrixTable.Rows[0]["CostCenter"].ToString() == "1001");
            Assert.IsTrue(matrixTable.Rows[1]["Age"].ToString() == "40");
        }
        public void StartWorkflowWithoutPersist()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            clientStartupParams.AutoPersist = false;

            WfClientProcessInfo processInfo = WfClientProcessRuntimeServiceProxy.Instance.StartWorkflow(clientStartupParams);

            processInfo.Output();
            AssertStartedProcess(processInfo, clientStartupParams);

            try
            {
                WfClientProcess process = WfClientProcessRuntimeServiceProxy.Instance.GetProcessByID(processInfo.ID, Consts.Users["Requestor"]);
            }
            catch (WfClientChannelException ex)
            {
                if (ex.Message.IndexOf("不能找到") == -1)
                {
                    throw ex;
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 基类中构造开始点和结束点,不包含两个点的连线
        /// </summary>
        /// <param name="processKey"></param>
        /// <param name="processName"></param>
        /// <returns></returns>
        public virtual WfClientProcessDescriptor Build(string processKey, string processName)
        {
            processKey.CheckStringIsNullOrEmpty("processKey");
            processName.CheckStringIsNullOrEmpty("processName");

            WfClientProcessDescriptor processDesp = new WfClientProcessDescriptor();

            processDesp.Key             = processKey;
            processDesp.ApplicationName = this._ApplicationName;
            processDesp.ProgramName     = this._ProgramName;
            processDesp.Name            = processName;

            processDesp.Activities.Add(new WfClientActivityDescriptor(WfClientActivityType.InitialActivity)
            {
                Key = "Start", Name = "起草"
            });
            processDesp.Activities.Add(new WfClientActivityDescriptor(WfClientActivityType.CompletedActivity)
            {
                Key = "Complete", Name = "办结"
            });

            processDesp.Properties.AddOrSetValue("ProbeParentProcessParams", "True");

            return(processDesp);
        }
Exemplo n.º 6
0
        public override WfClientProcessDescriptor Build(string processKey, string processName)
        {
            this.CreateParams.Key  = processKey;
            this.CreateParams.Name = processName;

            WfClientProcessDescriptor processDesp = base.Build(processKey, processName);

            processDesp.Variables.AddOrSetValue("ClientDynamicProcess", "True", WfClientVariableDataType.Boolean);

            MergeProperties(processDesp.Properties, this.CreateParams.Properties);

            WfClientActivityDescriptor dynamicActivityDesp = CreateDynamicActivityDescriptor(this.CreateParams.ActivityMatrix);

            processDesp.Activities.Add(dynamicActivityDesp);

            WfClientTransitionDescriptor transitionSN = new WfClientTransitionDescriptor(processDesp.InitialActivity.Key, dynamicActivityDesp.Key)
            {
                Key = "L1"
            };

            processDesp.InitialActivity.ToTransitions.Add(transitionSN);

            WfClientTransitionDescriptor transitionNC = new WfClientTransitionDescriptor(dynamicActivityDesp.Key, processDesp.CompletedActivity.Key)
            {
                Key = "L2"
            };

            dynamicActivityDesp.ToTransitions.Add(transitionNC);

            return(processDesp);
        }
        public void ClientProcessWithWithActivityMatrixResourceDescriptorSerializationTest()
        {
            WfClientJsonConverterHelper.Instance.RegisterConverters();

            WfClientProcessDescriptor processDesp = ProcessDescriptorHelper.CreateClientProcessWithActivityMatrixResourceDescriptor();
            string data = JSONSerializerExecute.Serialize(processDesp);

            Console.WriteLine(data);

            WfClientProcessDescriptor deserialized = JSONSerializerExecute.Deserialize <WfClientProcessDescriptor>(data);

            Assert.AreEqual(processDesp.Key, deserialized.Key);
            Assert.AreEqual(processDesp.Activities.Count, deserialized.Activities.Count);
            Assert.AreEqual(processDesp.InitialActivity.Key, deserialized.InitialActivity.Key);
            Assert.AreEqual(processDesp.CompletedActivity.Key, deserialized.CompletedActivity.Key);
            Assert.AreEqual(processDesp.InitialActivity.ToTransitions.Count, deserialized.InitialActivity.ToTransitions.Count);
            Assert.AreEqual(processDesp.CancelEventReceivers.Count, deserialized.CancelEventReceivers.Count);
            Assert.AreEqual(processDesp.CompletedActivity.GetFromTransitions().Count, deserialized.CompletedActivity.GetFromTransitions().Count);

            Assert.IsNotNull(deserialized.Activities["N1"]);
            Assert.IsTrue(deserialized.Activities["N1"].Resources.Count > 0);
            Assert.IsTrue(deserialized.Activities["N1"].Resources[0] is WfClientActivityMatrixResourceDescriptor);

            ((WfClientActivityMatrixResourceDescriptor)processDesp.Activities["N1"].Resources[0]).AreSame((WfClientActivityMatrixResourceDescriptor)deserialized.Activities["N1"].Resources[0]);
        }
        public WfClientProcess ServerToClient(IWfProcess process, ref WfClientProcess client)
        {
            WfClientProcessDescriptor clientDescriptor = null;
            WfClientProcessDescriptor clientMainStream = null;

            if ((this._Filter & WfClientProcessInfoFilter.Descriptor) != WfClientProcessInfoFilter.InstanceOnly)
            {
                WfClientProcessDescriptorConverter.Instance.ServerToClient((WfProcessDescriptor)process.Descriptor, ref clientDescriptor);
            }

            if ((this._Filter & WfClientProcessInfoFilter.MainStream) != WfClientProcessInfoFilter.InstanceOnly)
            {
                WfClientProcessDescriptorConverter.Instance.ServerToClient((WfProcessDescriptor)process.MainStream, ref clientMainStream);
            }

            if (client == null)
            {
                client = new WfClientProcess(clientDescriptor, clientMainStream);
            }

            WfClientProcessInfoBaseConverter.Instance.ServerToClient(process, client);

            ServerActivitiesToClient(process, client);

            if ((this._Filter & WfClientProcessInfoFilter.BindActivityDescriptors) != WfClientProcessInfoFilter.InstanceOnly)
            {
                client.NormalizeActivities();
            }

            return(client);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 创建一个有4个节点的流程,开始点有两条出线,根据Amount是否大于等于5000来判断
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessDescriptor CreateClientProcessWithConditionLines()
        {
            WfClientProcessDescriptor processDesp = CreateSimpleClientProcessWithoutLines();

            processDesp.Activities.Add(ActivityDescriptorHelper.CreateSimpleClientActivityWithUser("N1", "CFO", "CFO", WfClientActivityType.NormalActivity));
            processDesp.Activities.Add(ActivityDescriptorHelper.CreateSimpleClientActivityWithUser("N2", "CEO", "CEO", WfClientActivityType.NormalActivity));

            WfClientTransitionDescriptor transitionToCFO = new WfClientTransitionDescriptor(processDesp.InitialActivity.Key, "N1");

            transitionToCFO.Key = "L1";
            transitionToCFO.Condition.Expression = "Amount >= 5000";
            processDesp.InitialActivity.ToTransitions.Add(transitionToCFO);

            WfClientTransitionDescriptor transitionToCEO = new WfClientTransitionDescriptor(processDesp.InitialActivity.Key, "N2");

            transitionToCEO.Key = "L2";
            transitionToCEO.Condition.Expression = "Amount < 5000";

            processDesp.InitialActivity.ToTransitions.Add(transitionToCEO);

            WfClientTransitionDescriptor transitionCEOToCFO = new WfClientTransitionDescriptor("CFO", "CEO");

            transitionCEOToCFO.Key = "L3";

            processDesp.Activities["N1"].ToTransitions.Add(transitionCEOToCFO);

            return(processDesp);
        }
Exemplo n.º 10
0
        public void ExcelKeyChangeSaveDescriptorTest()
        {
            const string processKey = "c8d2a844-0002-bb51-4ab0-1563a40d2b587";

            WfCreateClientDynamicProcessParams processParams = ProcessDescriptorHelper.CreateClientDynamicProcessParams();

            processParams.Key = processKey;

            WfClientDynamicProcessBuilder builder = new WfClientDynamicProcessBuilder(processParams);
            WfClientProcessDescriptor     client  = builder.Build(processParams.Key, processParams.Name);

            WfClientServiceBrokerContext.Current.Context[Consts.TenantCode] = "Test1"; // GetCurrentTenantCode();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(client);     //数据准备

            #region 保存EXCEL后,修改EXCEL数据后再校验
            //using (FileStream fs = File.OpenWrite(string.Format("E:\\work\\TMP\\{0}.xlsx", processKey)))
            //{
            //    WfClientProcessDescriptorServiceProxy.Instance.WfDynamicProcessToExcel(processKey).CopyTo(fs);
            //}

            //using (FileStream fs = File.OpenRead(string.Format("E:\\work\\TMP\\{0}.xlsx", processKey)))
            //{
            //    WfClientProcessDescriptorServiceProxy.Instance.ExcelToSaveDescriptor(processKey, fs);
            //}
            #endregion

            client = WfClientProcessDescriptorServiceProxy.Instance.GetDescriptor(processKey);

            Assert.AreEqual(client.Properties.GetValue("Key", string.Empty), processKey);
            Assert.AreEqual(client.Key, processKey);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 创建一个带动态矩阵资源的流程定义
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessDescriptor CreateClientProcessWithActivityMatrixResourceDescriptor()
        {
            WfClientProcessDescriptor processDesp = CreateSimpleClientProcessWithoutLines();

            WfClientActivityDescriptor actDesp = ActivityDescriptorHelper.CreateSimpleClientActivity("N1", "活动矩阵", WfClientActivityType.NormalActivity);

            actDesp.Properties.AddOrSetValue("IsDynamic", true);
            actDesp.Resources.Add(GetClientActivityMatrixResourceDescriptor());

            processDesp.Activities.Add(actDesp);

            WfClientTransitionDescriptor transitionToN1 = new WfClientTransitionDescriptor(processDesp.InitialActivity.Key, "N1")
            {
                Key = "L1"
            };

            processDesp.InitialActivity.ToTransitions.Add(transitionToN1);

            WfClientTransitionDescriptor transitionToCompleted = new WfClientTransitionDescriptor(actDesp.Key, processDesp.CompletedActivity.Key)
            {
                Key = "L2"
            };

            processDesp.Activities["N1"].ToTransitions.Add(transitionToCompleted);

            return(processDesp);
        }
Exemplo n.º 12
0
        public void ExportProcessDescriptorsTest()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            Stream stream = WfClientProcessDescriptorServiceProxy.Instance.ExportProcessDescriptors(processDesp.Key);

            Assert.IsTrue(stream.Length > 0);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 创建一个有4个节点的流程,并且保存它。开始点有两条出线,根据Amount是否大于等于5000来判断。
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessDescriptor PreapreProcessWithConditionLines()
        {
            WfClientProcessDescriptor processDesp = ProcessDescriptorHelper.CreateClientProcessWithConditionLines();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(processDesp);

            return(processDesp);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 创建一个简单流程并且保存一个流程定义
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessDescriptor PrepareSimpleProcess()
        {
            WfClientProcessDescriptor processDesp = ProcessDescriptorHelper.CreateSimpleClientProcessWithLines();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(processDesp);

            return(processDesp);
        }
Exemplo n.º 15
0
        /// <summary>
        /// 创建一个简单流程,并且启动该流程
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessInfo PrepareSimpleProcessInstance()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            return(WfClientProcessRuntimeServiceProxy.Instance.StartWorkflow(clientStartupParams));
        }
        public void ClientProcessWithWithActivityMatrixResourceDescriptorToServerTest()
        {
            WfClientProcessDescriptor client = ProcessDescriptorHelper.CreateClientProcessWithActivityMatrixResourceDescriptor();
            WfProcessDescriptor       server = null;

            WfClientProcessDescriptorConverter.Instance.ClientToServer(client, ref server);

            Assert.IsNotNull(server.Activities["N1"]);
            Assert.IsTrue(server.Activities["N1"].Resources.Count > 0);
            Assert.IsTrue(server.Activities["N1"].Resources[0] is WfActivityMatrixResourceDescriptor);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 创建一个有4个节点的流程,并且保存它。开始点有两条出线,根据Amount是否大于等于5000来判断。
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessInfo PreapreProcessWithConditionLinesInstance()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PreapreProcessWithConditionLines();

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            clientStartupParams.ApplicationRuntimeParameters["Amount"] = 10000;
            clientStartupParams.ProcessContext["Context"] = "This is a context";

            return(WfClientProcessRuntimeServiceProxy.Instance.StartWorkflow(clientStartupParams));
        }
        public Stream WfDynamicProcessToExcel(string processKey)
        {
            OperationContext.Current.FillContextToOguServiceContext();

            WfProcessDescriptor       processDesp = (WfProcessDescriptor)WfProcessDescriptorManager.LoadDescriptor(processKey);
            WfClientProcessDescriptor client      = null;

            WfClientProcessDescriptorConverter.Instance.ServerToClient(processDesp, ref client);

            return(WfClientProcessDescriptorConverter.Instance.ClientDynamicProcessToExcelStream(client));
        }
        public void StartWorkflow()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            WfClientProcessInfo processInfo = WfClientProcessRuntimeServiceProxy.Instance.StartWorkflow(clientStartupParams);

            processInfo.Output();
            AssertStartedProcess(processInfo, clientStartupParams);
        }
        public void WfClientDynamicProcessBuilderInstanceTest()
        {
            WfCreateClientDynamicProcessParams createParams = ProcessDescriptorHelper.CreateClientDynamicProcessParams();

            WfClientDynamicProcessBuilder builder = new WfClientDynamicProcessBuilder(createParams);

            WfClientProcessDescriptor client = builder.Build(createParams.Key, createParams.Name);

            IWfProcess process = ProcessHelper.CreateProcessInstance(client);

            Assert.IsTrue(process.Activities.Count > client.Activities.Count);
        }
        public void SaveDescriptor(WfClientProcessDescriptor clientProcessDesp)
        {
            OperationContext.Current.FillContextToOguServiceContext();

            WfProcessDescriptor processDesp = null;

            WfClientProcessDescriptorConverter.Instance.ClientToServer(clientProcessDesp, ref processDesp);

            WfSaveTemplateExecutor executor = new WfSaveTemplateExecutor(processDesp);

            executor.Execute();
        }
Exemplo n.º 22
0
        /// <summary>
        /// 创建一个有连线的流程
        /// </summary>
        /// <returns></returns>
        public static WfClientProcessDescriptor CreateSimpleClientProcessWithLines()
        {
            WfClientProcessDescriptor processDesp = CreateSimpleClientProcessWithoutLines();

            WfClientTransitionDescriptor transition = new WfClientTransitionDescriptor(processDesp.InitialActivity.Key, processDesp.CompletedActivity.Key);

            transition.Key = "L1";

            processDesp.InitialActivity.ToTransitions.Add(transition);

            return(processDesp);
        }
Exemplo n.º 23
0
        public static IWfProcess CreateProcessInstance(WfClientProcessDescriptor client)
        {
            WfProcessDescriptor processDesp = null;

            WfClientProcessDescriptorConverter.Instance.ClientToServer(client, ref processDesp);
            WfProcessStartupParams startupParams = GetInstanceOfWfProcessStartupParams(processDesp);

            startupParams.ApplicationRuntimeParameters["CostCenter"] = "1001";
            startupParams.ApplicationRuntimeParameters["PayMethod"]  = "1";
            startupParams.ApplicationRuntimeParameters["Age"]        = 30;

            return(WfRuntime.StartWorkflow(startupParams));
        }
Exemplo n.º 24
0
        public override IDictionary <string, object> Serialize(object obj, JavaScriptSerializer serializer)
        {
            Dictionary <string, object> dictionary = (Dictionary <string, object>)base.Serialize(obj, serializer);

            WfClientProcessDescriptor processDesp = (WfClientProcessDescriptor)obj;

            dictionary.Add("activities", processDesp.Activities);
            dictionary.Add("variables", processDesp.Variables);
            dictionary.Add("relativeLinks", processDesp.RelativeLinks);
            dictionary.Add("cancelEventReceivers", processDesp.CancelEventReceivers);

            return(dictionary);
        }
Exemplo n.º 25
0
        public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer)
        {
            WfClientProcessDescriptor processDesp = (WfClientProcessDescriptor)base.Deserialize(dictionary, type, serializer);

            JSONSerializerExecute.FillDeserializedCollection <WfClientActivityDescriptor>(dictionary.GetValue("activities", (object)null), processDesp.Activities);

            processDesp.NormalizeAllTransitions();

            JSONSerializerExecute.FillDeserializedCollection <WfClientVariableDescriptor>(dictionary.GetValue("variables", (object)null), processDesp.Variables);
            JSONSerializerExecute.FillDeserializedCollection <WfClientRelativeLinkDescriptor>(dictionary.GetValue("relativeLinks", (object)null), processDesp.RelativeLinks);
            JSONSerializerExecute.FillDeserializedCollection <WfClientResourceDescriptor>(dictionary.GetValue("cancelEventReceivers", (object)null), processDesp.CancelEventReceivers);

            return(processDesp);
        }
Exemplo n.º 26
0
        public static WfClientProcessInfo PrepareProcessWithWithActivityMatrixResourceInstance()
        {
            WfClientProcessDescriptor processDesp = ProcessDescriptorHelper.CreateClientProcessWithActivityMatrixResourceDescriptor();

            WfClientProcessDescriptorServiceProxy.Instance.SaveDescriptor(processDesp);

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            clientStartupParams.ApplicationRuntimeParameters["CostCenter"] = "1001";
            clientStartupParams.ApplicationRuntimeParameters["PayMethod"]  = "1";
            clientStartupParams.ApplicationRuntimeParameters["Age"]        = 30;

            return(WfClientProcessRuntimeServiceProxy.Instance.StartWorkflow(clientStartupParams));
        }
Exemplo n.º 27
0
        public void ExsitsProcessKeyTest()
        {
            WfClientProcessDescriptor descriptor = OperationHelper.PrepareSimpleProcess();
            string key    = descriptor.Key;
            string key2   = Guid.NewGuid().ToString();
            bool   istrue = WfClientProcessDescriptorServiceProxy.Instance.ExsitsProcessKey(key);

            Assert.AreEqual(true, istrue);

            istrue = WfClientProcessDescriptorServiceProxy.Instance.ExsitsProcessKey(key2);
            Assert.AreEqual(false, istrue);

            OperationHelper.ClearProcessDescriptorSqlServerData(key);
        }
Exemplo n.º 28
0
        public void ImportProcessDescriptorTest()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            Stream stream = WfClientProcessDescriptorServiceProxy.Instance.ExportProcessDescriptors(processDesp.Key);

            stream.Seek(0, SeekOrigin.Begin);

            string info = WfClientProcessDescriptorServiceProxy.Instance.ImportProcessDescriptors(stream);

            Console.WriteLine(info);

            Assert.IsTrue(info.IndexOf("1个流程模板文件") >= 0);
        }
        public void SimpleStandardServerProcessToClient()
        {
            WfProcessDescriptor processDesp = ProcessDescriptorHelper.CreateSimpleServerProcessWithLines();

            processDesp.Output();

            WfClientProcessDescriptor clientProcessDesp = null;

            WfClientProcessDescriptorConverter.Instance.ServerToClient(processDesp, ref clientProcessDesp);

            processDesp.Output();

            clientProcessDesp.AssertProcessDescriptor(processDesp);
        }
Exemplo n.º 30
0
        public void SaveDescriptor()
        {
            TenantContext.Current.TenantCode = "Test1";
            TenantContext.Current.Enabled    = true;

            GenericTicketTokenContainer tokenContainer = new GenericTicketTokenContainer();

            InitPrincipal("Requestor");

            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            WfClientProcessDescriptor loadedProcessDesp = WfClientProcessDescriptorServiceProxy.Instance.LoadDescriptor(processDesp.Key);

            processDesp.AssertProcessDescriptor(loadedProcessDesp);
        }