コード例 #1
0
        public void WfVariableDescriptorValueTest()
        {
            WfVariableDescriptor variable = new WfVariableDescriptor("Data", "Hello", DataType.String);

            Assert.AreEqual("Hello", variable.ActualValue);

            variable = new WfVariableDescriptor("Data", "1024", DataType.Int);

            Assert.AreEqual(1024, variable.ActualValue);

            variable = new WfVariableDescriptor("Data", "1024.00", DataType.Double);

            Assert.AreEqual(1024.00, variable.ActualValue);

            variable = new WfVariableDescriptor("Data", "1024.00", DataType.Float);

            Assert.AreEqual((Single)1024.00, variable.ActualValue);

            variable = new WfVariableDescriptor("Data", "True", DataType.Boolean);

            Assert.AreEqual(true, variable.ActualValue);

            DateTime now = DateTime.Now;

            variable = new WfVariableDescriptor("Data", now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DataType.DateTime);

            DateTime deserilizedDate = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, now.Millisecond);

            Assert.AreEqual(deserilizedDate, variable.ActualValue);
        }
コード例 #2
0
		public void WfVariableDescriptorValueTest()
		{
			WfVariableDescriptor variable = new WfVariableDescriptor("Data", "Hello", DataType.String);

			Assert.AreEqual("Hello", variable.ActualValue);

			variable = new WfVariableDescriptor("Data", "1024", DataType.Int);

			Assert.AreEqual(1024, variable.ActualValue);

			variable = new WfVariableDescriptor("Data", "1024.00", DataType.Double);

			Assert.AreEqual(1024.00, variable.ActualValue);

			variable = new WfVariableDescriptor("Data", "1024.00", DataType.Float);

			Assert.AreEqual((Single)1024.00, variable.ActualValue);

			variable = new WfVariableDescriptor("Data", "True", DataType.Boolean);

			Assert.AreEqual(true, variable.ActualValue);

			DateTime now = DateTime.Now;

			variable = new WfVariableDescriptor("Data", now.ToString("yyyy-MM-dd HH:mm:ss.fff"), DataType.DateTime);

			DateTime deserilizedDate = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, now.Millisecond);

			Assert.AreEqual(deserilizedDate, variable.ActualValue);
		}
コード例 #3
0
        public void WfVariabledOfPrecessDescriptorConverterTest()
        {
            WfConverterHelper.RegisterConverters();

            WfProcessDescriptor processDesp = (WfProcessDescriptor)WfProcessTestCommon.CreateSimpleProcessDescriptor();

            //给流程中变量描述赋值
            string guid = Guid.NewGuid().ToString();
            WfVariableDescriptor variDesc = new WfVariableDescriptor(guid);

            variDesc.Name          = "yo";
            variDesc.Description   = "流程中变量的赋值";
            variDesc.Enabled       = true;
            variDesc.OriginalType  = DataType.String;
            variDesc.OriginalValue = "原来的变量值";
            processDesp.Variables.Add(variDesc);

            string result = JSONSerializerExecute.Serialize(processDesp);

            Console.WriteLine(result);

            WfProcessDescriptor reProcessDesp = JSONSerializerExecute.Deserialize <WfProcessDescriptor>(result);

            string reSerialized = JSONSerializerExecute.Serialize(reProcessDesp);

            Assert.AreEqual(result, reSerialized);

            Assert.AreEqual(processDesp.Variables[0].Name, reProcessDesp.Variables[0].Name);
            Assert.AreEqual("流程中变量的赋值", reProcessDesp.Variables[0].Description);
            Assert.AreEqual(true, reProcessDesp.Variables[0].Enabled);
            Assert.AreEqual(processDesp.Variables[0].OriginalType, reProcessDesp.Variables[0].OriginalType);
        }
コード例 #4
0
        public WfCreateTransitionParam(IWfTransitionDescriptor transition)
        {
            transition.NullCheck("transition");

            this._Parameters = transition.Properties.ToDictionary();

            if (transition.Condition.IsEmpty == false)
            {
                this.Parameters.Add("Condition", transition.Condition.Expression);
            }

            if (transition.Variables.Count > 0)
            {
                Dictionary <string, object>[] variables = new Dictionary <string, object> [transition.Variables.Count];

                for (int i = 0; i < variables.Length; i++)
                {
                    WfVariableDescriptor variable = transition.Variables[i];
                    variables[i] = variable.Properties.ToDictionary();

                    variables[i]["OriginalType"]  = variable.OriginalType;
                    variables[i]["OriginalValue"] = variable.OriginalValue;
                }

                this.Parameters.Add("Variables", variables);
            }
        }
コード例 #5
0
		public void WfVariableDescriptorIntValueTest()
		{
			WfVariableDescriptor variable = new WfVariableDescriptor("Data", "[1, 3]", DataType.IntArray);

			int[] actualValue = (int[])variable.ActualValue;

			Assert.AreEqual(1, actualValue[0]);
			Assert.AreEqual(3, actualValue[1]);
		}
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //给流程中变量描述赋值
            string guid = Guid.NewGuid().ToString();
            WfVariableDescriptor variDesc = new WfVariableDescriptor();

            hiddenVariableTemplate.Value = JSONSerializerExecute.Serialize(variDesc);
            BindList(ddlVariableDatatype, EnumItemDescriptionAttribute.GetDescriptionList(typeof(MCS.Library.SOA.DataObjects.Workflow.DataType)));
        }
コード例 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //给流程中变量描述赋值
            string guid = Guid.NewGuid().ToString();
            WfVariableDescriptor variDesc = new WfVariableDescriptor();

            hiddenVariableTemplate.Value = JSONSerializerExecute.Serialize(variDesc);
            BindList(ddlVariableDatatype,EnumItemDescriptionAttribute.GetDescriptionList(typeof(MCS.Library.SOA.DataObjects.Workflow.DataType)));
        }
コード例 #8
0
        public void WfVariableDescriptorBooleanValueTest()
        {
            WfVariableDescriptor variable = new WfVariableDescriptor("Data", "[true, false]", DataType.BooleanArray);

            Boolean[] actualValue = (Boolean[])variable.ActualValue;

            Assert.AreEqual(true, actualValue[0]);
            Assert.AreEqual(false, actualValue[1]);
        }
コード例 #9
0
        public void WfVariableDescriptorIntValueTest()
        {
            WfVariableDescriptor variable = new WfVariableDescriptor("Data", "[1, 3]", DataType.IntArray);

            int[] actualValue = (int[])variable.ActualValue;

            Assert.AreEqual(1, actualValue[0]);
            Assert.AreEqual(3, actualValue[1]);
        }
コード例 #10
0
		public void WfVariableDescriptorBooleanValueTest()
		{
			WfVariableDescriptor variable = new WfVariableDescriptor("Data", "[true, false]", DataType.BooleanArray);

			Boolean[] actualValue = (Boolean[])variable.ActualValue;

			Assert.AreEqual(true, actualValue[0]);
			Assert.AreEqual(false, actualValue[1]);
		}
コード例 #11
0
        private static void CreateVariables(WfVariableDescriptorCollection variables, object[] variableDicts)
        {
            foreach (Dictionary <string, object> variableDict in variableDicts)
            {
                WfVariableDescriptor variable = new WfVariableDescriptor(DictionaryHelper.GetValue(variableDict, "Key", string.Empty));

                MergeProperties(variable.Properties, variableDict);

                variable.OriginalType  = DictionaryHelper.GetValue(variableDict, "OriginalType", DataType.String);
                variable.OriginalValue = DictionaryHelper.GetValue(variableDict, "OriginalValue", string.Empty);

                variables.Add(variable);
            }
        }
コード例 #12
0
		public void WfVariableDescriptorArrayValueTest()
		{
			WfVariableDescriptor variable = new WfVariableDescriptor("Data", "['Hello', 'World']", DataType.StringArray);

			string[] actualValue = (string[])variable.ActualValue;

			Assert.AreEqual("Hello", actualValue[0]);
			Assert.AreEqual("World", actualValue[1]);

			variable = new WfVariableDescriptor("Data", "", DataType.StringArray);

			actualValue = (string[])variable.ActualValue;

			Assert.IsNull(actualValue);
		}
コード例 #13
0
        public void WfVariableDescriptorArrayValueTest()
        {
            WfVariableDescriptor variable = new WfVariableDescriptor("Data", "['Hello', 'World']", DataType.StringArray);

            string[] actualValue = (string[])variable.ActualValue;

            Assert.AreEqual("Hello", actualValue[0]);
            Assert.AreEqual("World", actualValue[1]);

            variable = new WfVariableDescriptor("Data", "", DataType.StringArray);

            actualValue = (string[])variable.ActualValue;

            Assert.IsNull(actualValue);
        }
コード例 #14
0
        public void WfVariableDescriptorConveterTest()
        {
            WfConverterHelper.RegisterConverters();

            WfVariableDescriptor variableDesc = new WfVariableDescriptor("variable");

            variableDesc.Description = "变量";

            string result = JSONSerializerExecute.Serialize(variableDesc);

            Console.WriteLine(result);

            WfVariableDescriptor deserializedActDesp = JSONSerializerExecute.Deserialize <WfVariableDescriptor>(result);

            string reSerialized = JSONSerializerExecute.Serialize(deserializedActDesp);

            Assert.AreEqual(result, reSerialized);
        }
コード例 #15
0
        public static void SetCirculateUsers(IWfActivityDescriptor actDesp, OguDataCollection <IUser> users)
        {
            string serializedData = string.Empty;

            if (users != null)
            {
                serializedData = SerializationHelper.SerializeObjectToString(users, SerializationFormatterType.Binary);
            }

            WfVariableDescriptor variable = actDesp.Variables[CirculateUsersVariableName];

            if (variable != null)
            {
                variable.OriginalValue = serializedData;
            }
            else
            {
                variable = new WfVariableDescriptor(CirculateUsersVariableName, serializedData);
                actDesp.Variables.Add(variable);
            }
        }
コード例 #16
0
        public void BasicEditActivityExecutorTest()
        {
            IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

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

            WfActivityDescriptorCreateParams createParams = new WfActivityDescriptorCreateParams();

            WfVariableDescriptor variable = new WfVariableDescriptor("CodeName", "HelloKitty");

            createParams.Variables = new WfVariableDescriptor[] { variable };

            WfEditActivityExecutor editExecutor = new WfEditActivityExecutor(process.CurrentActivity, targetActivity, createParams);

            editExecutor.Execute();

            Assert.AreEqual("HelloKitty",
                            process.Descriptor.Activities["NormalActivity"].Properties.GetValue("CodeName", string.Empty));
            Assert.AreEqual("HelloKitty",
                            process.MainStream.Activities["NormalActivity"].Properties.GetValue("CodeName", string.Empty));
        }
コード例 #17
0
		public void WfVariabledOfPrecessDescriptorConverterTest()
		{
			WfConverterHelper.RegisterConverters();

			WfProcessDescriptor processDesp = (WfProcessDescriptor)WfProcessTestCommon.CreateSimpleProcessDescriptor();

			//给流程中变量描述赋值
			string guid = Guid.NewGuid().ToString();
			WfVariableDescriptor variDesc = new WfVariableDescriptor(guid);
			variDesc.Name = "yo";
			variDesc.Description = "流程中变量的赋值";
			variDesc.Enabled = true;
			variDesc.OriginalType = DataType.String;
			variDesc.OriginalValue = "原来的变量值";
			processDesp.Variables.Add(variDesc);

			string result = JSONSerializerExecute.Serialize(processDesp);
			Console.WriteLine(result);

			WfProcessDescriptor reProcessDesp = JSONSerializerExecute.Deserialize<WfProcessDescriptor>(result);

			string reSerialized = JSONSerializerExecute.Serialize(reProcessDesp);

			Assert.AreEqual(result, reSerialized);

			Assert.AreEqual(processDesp.Variables[0].Name, reProcessDesp.Variables[0].Name);
			Assert.AreEqual("流程中变量的赋值", reProcessDesp.Variables[0].Description);
			Assert.AreEqual(true, reProcessDesp.Variables[0].Enabled);
			Assert.AreEqual(processDesp.Variables[0].OriginalType, reProcessDesp.Variables[0].OriginalType);

		}
コード例 #18
0
		public static void SetCirculateUsers(IWfActivityDescriptor actDesp, OguDataCollection<IUser> users)
		{
			string serializedData = string.Empty;

			if (users != null)
				serializedData = SerializationHelper.SerializeObjectToString(users, SerializationFormatterType.Binary);

			WfVariableDescriptor variable = actDesp.Variables[CirculateUsersVariableName];

			if (variable != null)
				variable.OriginalValue = serializedData;
			else
			{
				variable = new WfVariableDescriptor(CirculateUsersVariableName, serializedData);
				actDesp.Variables.Add(variable);
			}
		}
コード例 #19
0
		public void WfVariableDescriptorConveterTest()
		{
			WfConverterHelper.RegisterConverters();

			WfVariableDescriptor variableDesc = new WfVariableDescriptor("variable");
			variableDesc.Description = "变量";

			string result = JSONSerializerExecute.Serialize(variableDesc);

			Console.WriteLine(result);

			WfVariableDescriptor deserializedActDesp = JSONSerializerExecute.Deserialize<WfVariableDescriptor>(result);

			string reSerialized = JSONSerializerExecute.Serialize(deserializedActDesp);

			Assert.AreEqual(result, reSerialized);
		}