Beispiel #1
0
        /// <summary>
        /// 组件工作事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///
        private void bgwWait_DoWork(object sender, DoWorkEventArgs e)
        {
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "LoadTreeData":
                    GetTreeData(e);
                    break;

                case "SearchData":
                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.GetCfPExecute(context.SessionID, model.ExecuteID);
                        if (ret.IsSuccess)
                        {
                            model        = ret.HeadData;
                            lstbodyModel = ret.BodyData.ToList();
                            this.Invoke((MethodInvoker) delegate()
                            {
                                craftsProcessExecuteBindingSource.DataSource = ret.HeadData;
                                if (ret.BodyData.Count() > 0)
                                {
                                    craftsProcessExecutesBindingSource.DataSource = ret.BodyData.OrderBy(t => t.Priority);
                                }
                                else
                                {
                                    craftsProcessExecutesBindingSource.DataSource = ret.BodyData;
                                }
                                gridControl1.RefreshDataSource();
                            });
                        }
                        else
                        {
                            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            catch (System.ServiceModel.FaultException <SRCfPExecute.CustomFaultMessage> fex)
            {
                Utils.Logger.Error(fex.ToString());
                bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, fex.Message);
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }