Example #1
0
        /// <summary>
        /// 加载模块实例。
        /// </summary>
        /// <param name="wfAddIn"></param>
        /// <param name="instanceID"></param>
        internal static void LoadWorkflowInstance(object wfAddIn, bool isEnabled, Guid instanceID)
        {
            System.Type T = wfAddIn.GetType();
            System.Reflection.PropertyInfo propertyInfo = null;
            foreach (System.Reflection.PropertyInfo item in T.GetProperties())
            {
                WorkflowInstanceIdAttribute wfa = Attribute.GetCustomAttribute(item, typeof(WorkflowInstanceIdAttribute)) as WorkflowInstanceIdAttribute;
                if (!Object.Equals(null, wfa))
                {
                    propertyInfo = item;
                    break;
                }
            }

            if (propertyInfo != null)
            {
                propertyInfo.SetValue(wfAddIn, instanceID, new object[] { });
            }
        }
Example #2
0
        WorkflowResult GetInstanceID(object wfAddIn)
        {
            WorkflowResult wfResult = new WorkflowResult();

            if (wfAddIn == null)
            {
                wfResult.Error = new ArgumentNullException("wfAddIn");
                return(wfResult);
            }

            System.Type            T   = wfAddIn.GetType();
            WorkflowAddInAttribute wfa = Attribute.GetCustomAttribute(T, typeof(WorkflowAddInAttribute)) as WorkflowAddInAttribute;

            if (Object.Equals(null, wfa))
            {
                wfResult.Error = new ArgumentException("wfAddIn");
                return(wfResult);
            }

            System.Reflection.PropertyInfo propertyInfo = null;
            foreach (System.Reflection.PropertyInfo item in T.GetProperties())
            {
                WorkflowInstanceIdAttribute wfai = Attribute.GetCustomAttribute(item, typeof(WorkflowInstanceIdAttribute)) as WorkflowInstanceIdAttribute;
                if (!Object.Equals(null, wfai))
                {
                    propertyInfo = item;
                    break;
                }
            }

            if (Object.Equals(null, propertyInfo))
            {
                wfResult.Error = new Exception("没有发现\"WorkflowInstanceId\"属性标记");
                return(wfResult);
            }

            wfResult.InstanceId = (Guid)propertyInfo.GetValue(wfAddIn, new object[] { });
            return(wfResult);
        }