private ParameterTestClass CreateTestClass() { var pars = new ParameterTestClass(); var par1 = new Parameter() { Name = "param1", Value = "test parameter value" }; pars.Parameters.Add(par1); var par2 = new JobDefinitionParameter() { Name = "param2", TypeName = typeof(string).AssemblyQualifiedName, Direction = JobParameterDirection.In }; pars.Parameters.Add(par2); var par3 = new JobInstanceParameter() { Name = "param3", Value = 123L }; pars.Parameters.Add(par3); return pars; }
private ParameterTestClass CreateTestClass() { var pars = new ParameterTestClass(); var par1 = new Parameter() { Name = "param1", Value = "test parameter value" }; pars.Parameters.Add(par1); var par2 = new JobDefinitionParameter() { Name = "param2", TypeName = typeof(string).AssemblyQualifiedName, Direction = JobParameterDirection.In }; pars.Parameters.Add(par2); var par3 = new JobInstanceParameter() { Name = "param3", Value = 123L }; pars.Parameters.Add(par3); return(pars); }
/// <summary> /// Extracts the dependency properties of the workflow type that are flagged with /// the <see cref="WorkflowParameterAttribute"/> attribute. /// </summary> /// <returns></returns> public ParameterCollection GetParameters() { var excluded = new HashSet <string>() { "JobGuid", "UserGuid" }; var t = Type.GetType(workflowTypeName); var res = new ParameterCollection(); foreach (PropertyInfo pinfo in t.GetProperties()) { if (pinfo.PropertyType.IsGenericType) { Type gt = pinfo.PropertyType.GetGenericTypeDefinition(); if (!excluded.Contains(pinfo.Name)) { JobParameterDirection dir; if (gt == typeof(System.Activities.InArgument <>)) { dir = JobParameterDirection.In; } else if (gt == typeof(System.Activities.InOutArgument <>)) { dir = JobParameterDirection.InOut; } else if (gt == typeof(System.Activities.OutArgument <>)) { dir = JobParameterDirection.Out; } else { continue; } var par = new JobDefinitionParameter() { Name = pinfo.Name, TypeName = pinfo.PropertyType.GetGenericArguments()[0].AssemblyQualifiedName, Direction = dir, XmlValue = null }; res.Add(pinfo.Name, par); } } } return(res); }
/// <summary> /// Extracts the dependency properties of the workflow type that are flagged with /// the <see cref="WorkflowParameterAttribute"/> attribute. /// </summary> /// <returns></returns> public ParameterCollection GetParameters() { var excluded = new HashSet<string>() { "JobGuid", "UserGuid" }; var t = Type.GetType(workflowTypeName); var res = new ParameterCollection(); foreach (PropertyInfo pinfo in t.GetProperties()) { if (pinfo.PropertyType.IsGenericType) { Type gt = pinfo.PropertyType.GetGenericTypeDefinition(); if (!excluded.Contains(pinfo.Name)) { JobParameterDirection dir; if (gt == typeof(System.Activities.InArgument<>)) { dir = JobParameterDirection.In; } else if (gt == typeof(System.Activities.InOutArgument<>)) { dir = JobParameterDirection.InOut; } else if (gt == typeof(System.Activities.OutArgument<>)) { dir = JobParameterDirection.Out; } else { continue; } var par = new JobDefinitionParameter() { Name = pinfo.Name, TypeName = pinfo.PropertyType.GetGenericArguments()[0].AssemblyQualifiedName, Direction = dir, XmlValue = null }; res.Add(pinfo.Name, par); } } } return res; }
private void CopyMembers(JobDefinitionParameter old) { this.typeName = old.typeName; this.direction = old.direction; }
public JobDefinitionParameter(JobDefinitionParameter old) : base(old) { CopyMembers(old); }