Exemple #1
0
        void LoadWFDefine()
        {
            //this.m_WFInstance.ID = this.InstanceID;
            //this.m_WFInstance.Read();

            this.m_WFDefine.FlowID = this.m_WFInstance.FlowID;

            DataPortal <WFDefine> dataPortal = new DataPortal <WFDefine>();

            dataPortal.BeginRead(this.m_WFDefine).Completed += (s, e) =>
            {
                QueryTask <WFDefine> task = s as QueryTask <WFDefine>;
                if (task.Error != null)
                {
                    MessageBox.Show("请求数据时发生错误:" + task.Error.Message, "错误", MessageBoxButton.OK);
                }
                else
                {
                    this.m_WFDefine = task.DataEntity;

                    using (Stream stream = new MemoryStream(this.m_WFDefine.Photo))
                    {
                        BitmapImage bitmapImage = new BitmapImage();
                        try
                        {
                            bitmapImage.SetSource(stream);
                            this.Wf.Source = bitmapImage;
                        }
                        catch { }
                    }
                }
            };
        }
Exemple #2
0
        /// <summary>
        /// 发起流程。
        /// </summary>
        /// <param name="wfDefine"></param>
        public static void StartWorkflowInstance(WFDefine wfDefine, WorkflowInstanceCallBack callBack)
        {
            System.Type T = EAS.Objects.ClassProvider.GetType(wfDefine.SilverMType);

            if (T == null)
            {
                MessageBox.Show(string.Format("没有找到名称为\"{0}\"的功能模块", wfDefine.Module), "提示", MessageBoxButton.OK);
                return;
            }

            if (EAS.Application.Instance != null)
            {
                if (typeof(Control).IsAssignableFrom(T))
                {
                    object           wfAddIn        = System.Activator.CreateInstance(T);
                    WfInstanceWindow wfInstanceForm = new WfInstanceWindow(wfAddIn, true, Guid.Empty);
                    wfInstanceForm.Closed += (s, e) => { callBack(); };
                    wfInstanceForm.Show();
                }
                else if (typeof(ChildWindow).IsAssignableFrom(T))
                {
                    ChildWindow wfAddIn = System.Activator.CreateInstance(T) as ChildWindow;
                    wfAddIn.Closed += (s, e) => { callBack(); };
                    WfAddInHelper.Start(wfAddIn);
                }
                else
                {
                    WfAddInHelper.Start(System.Activator.CreateInstance(T));
                }
            }
        }
Exemple #3
0
 private void btnStart_Click(object sender, RoutedEventArgs e)
 {
     if (this.dgFlow.SelectedItem != null)
     {
         WFDefine wfDefine = this.dgFlow.SelectedItem as WFDefine;
         WfAddInHelper.StartWorkflowInstance(wfDefine, () => {});
     }
 }
Exemple #4
0
        /// <summary>
        /// 加载流程。
        /// </summary>
        /// <param name="wfDefine"></param>
        public static void LoadWorkflowInstance(WFInstance wfInstance, bool isEnabled, WorkflowInstanceCallBack callBack)
        {
            DataPortal <WFDefine> dataPortal = new DataPortal <WFDefine>();

            WFDefine wfDefine = new WFDefine();

            wfDefine.FlowID = wfInstance.FlowID;

            dataPortal.BeginRead(wfDefine).Completed += (s, e)
                                                        =>
            {
                QueryTask <WFDefine> task = s as QueryTask <WFDefine>;
                if (task.Error != null)
                {
                    MessageBox.Show(string.Format("读取流程定义错误:" + task.Error.Message, wfDefine.Module), "提示", MessageBoxButton.OK);
                }
                else      //
                {
                    wfDefine = task.DataEntity;

                    System.Type T = EAS.Objects.ClassProvider.GetType(wfDefine.SilverMType);

                    if (T == null)
                    {
                        MessageBox.Show(string.Format("没有找到名称为\"{0}\"的功能模块", wfDefine.Module), "提示", MessageBoxButton.OK);
                        return;
                    }

                    if (EAS.Application.Instance != null)
                    {
                        if (typeof(Control).IsAssignableFrom(T))
                        {
                            object           wfAddIn        = System.Activator.CreateInstance(T);
                            WfInstanceWindow wfInstanceForm = new WfInstanceWindow(wfAddIn, isEnabled, new Guid(wfInstance.ID));
                            wfInstanceForm.Closed += (s2, e2) => { callBack(); };
                            wfInstanceForm.Show();
                        }
                        else if (typeof(ChildWindow).IsAssignableFrom(T))
                        {
                            ChildWindow wfAddIn = System.Activator.CreateInstance(T) as ChildWindow;
                            wfAddIn.Closed += (s2, e2) => { callBack(); };
                            WfAddInHelper.LoadWorkflowInstance(wfAddIn, isEnabled, new Guid(wfInstance.ID));
                        }
                        else
                        {
                            WfAddInHelper.LoadWorkflowInstance(System.Activator.CreateInstance(T), isEnabled, new Guid(wfInstance.ID));
                        }
                    }
                }
            };
        }