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); }
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); }
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); } }
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]); }
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))); }
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))); }
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]); }
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); } }
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); }
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); }
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); } }
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)); }
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); }
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); } }
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); }