public void BasicEditActivityExecutorTest()
		{
			IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

			IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

			const string targetName = "修改后的名称";

			targetActivity.Descriptor.Properties.SetValue("Name", targetName);

			WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, false);

			executor.Execute();

			process = WfRuntime.GetProcessByProcessID(process.ID);

			targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

			Assert.AreEqual(targetName, targetActivity.Descriptor.Properties.GetValue("Name", string.Empty));

			UserOperationLog log = UserOperationLogAdapter.Instance.Load(builder => builder.AppendItem("ACTIVITY_ID", process.CurrentActivity.ID)).FirstOrDefault();

			Assert.IsNotNull(log);
			Console.WriteLine("{0}: {1}", log.OperationName, log.Subject);
		}
        public void EditActivityConditionExecutorTest()
        {
            WfConverterHelper.RegisterConverters();

            IWfProcess process = WfProcessTestCommon.StartupSimpleProcessDescriptorWithActivityCondition();

            IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            const string targetCondition = "Amount > 5000000";

            targetActivity.Descriptor.Condition.Expression = targetCondition;

            targetActivity.Descriptor.Properties["Condition"].StringValue = JSONSerializerExecute.Serialize(targetActivity.Descriptor.Condition);

            WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true);

            executor.Execute();

            process = WfRuntime.GetProcessByProcessID(process.ID);

            targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            Assert.AreEqual(targetCondition, targetActivity.Descriptor.Condition.Expression);

            IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor();

            Console.WriteLine(msActDesp.Condition.Expression);

            Assert.AreEqual(targetCondition, msActDesp.Condition.Expression);
        }
        public void BasicEditActivityExecutorTest()
        {
            IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

            IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            const string targetName = "修改后的名称";

            targetActivity.Descriptor.Properties.SetValue("Name", targetName);

            WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, false);

            executor.Execute();

            process = WfRuntime.GetProcessByProcessID(process.ID);

            targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            Assert.AreEqual(targetName, targetActivity.Descriptor.Properties.GetValue("Name", string.Empty));

            UserOperationLog log = UserOperationLogAdapter.Instance.Load(builder => builder.AppendItem("ACTIVITY_ID", process.CurrentActivity.ID)).FirstOrDefault();

            Assert.IsNotNull(log);
            Console.WriteLine("{0}: {1}", log.OperationName, log.Subject);
        }
		public void BasicEditActivityWithMainStreamExecutorTest()
		{
			IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

			IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

			const string targetName = "修改后的名称";

			targetActivity.Descriptor.Properties.SetValue("Name", targetName);

			WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true);

			executor.Execute();

			process = WfRuntime.GetProcessByProcessID(process.ID);

			IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor();

			Assert.AreEqual(targetName, msActDesp.Properties.GetValue("Name", string.Empty));
			Assert.IsTrue(msActDesp.IsMainStreamActivity);
		}
        public void BasicEditActivityWithMainStreamExecutorTest()
        {
            IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

            IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            const string targetName = "修改后的名称";

            targetActivity.Descriptor.Properties.SetValue("Name", targetName);

            WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true);

            executor.Execute();

            process = WfRuntime.GetProcessByProcessID(process.ID);

            IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor();

            Assert.AreEqual(targetName, msActDesp.Properties.GetValue("Name", string.Empty));
            Assert.IsTrue(msActDesp.IsMainStreamActivity);
        }
		public void EditActivityConditionExecutorTest()
		{
			WfConverterHelper.RegisterConverters();

			IWfProcess process = WfProcessTestCommon.StartupSimpleProcessDescriptorWithActivityCondition();

			IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

			const string targetCondition = "Amount > 5000000";
			targetActivity.Descriptor.Condition.Expression = targetCondition;

			targetActivity.Descriptor.Properties["Condition"].StringValue = JSONSerializerExecute.Serialize(targetActivity.Descriptor.Condition);

			WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true);

			executor.Execute();

			process = WfRuntime.GetProcessByProcessID(process.ID);

			targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

			Assert.AreEqual(targetCondition, targetActivity.Descriptor.Condition.Expression);

			IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor();

			Console.WriteLine(msActDesp.Condition.Expression);

			Assert.AreEqual(targetCondition, msActDesp.Condition.Expression);
		}