Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <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;
        }
Exemplo n.º 5
0
 private void CopyMembers(JobDefinitionParameter old)
 {
     this.typeName  = old.typeName;
     this.direction = old.direction;
 }
Exemplo n.º 6
0
 public JobDefinitionParameter(JobDefinitionParameter old)
     : base(old)
 {
     CopyMembers(old);
 }
Exemplo n.º 7
0
 private void CopyMembers(JobDefinitionParameter old)
 {
     this.typeName = old.typeName;
     this.direction = old.direction;
 }
Exemplo n.º 8
0
 public JobDefinitionParameter(JobDefinitionParameter old)
     : base(old)
 {
     CopyMembers(old);
 }