private void btn_search_Click(object sender, RoutedEventArgs e)
        {
            IEnumerable <PublicCustomManageViewMode> searchData = null;

            // TODO:调用search API

            if (null != searchData)
            {
                DataContext = new PaggingViewMode <PublicCustomManageViewMode>(searchData);
            }
        }
예제 #2
0
        private void FreBusinessSearchResultResponseHandler <T>(HttpResponse res, object context)
            where T : FreBussinessOpCenterDTO
        {
            Dispatcher.BeginInvoke(new Action <HttpResponse>((result) =>
            {
                var strHandleMsg = "";
                try
                {
                    var requestUrl = res.RequestMessage?.RequestUri;

                    if (null == result)
                    {
                        strHandleMsg = string.Format("服务处理{0}失败,应答数据为空!", requestUrl?.AbsolutePath);
                        WaitingDialog.ChangeStateMsg(strHandleMsg);
                        SLogger.Err(res.ToString());
                        return;
                    }

                    if (result.StatusCode == HttpStatusCode.OK)
                    {
                        var queryResult = JsonHelper.DeserializeTo <QueryResult <IList <FreBussinessOpCenterDTO> > >(result.ResponseContent);

                        if (null == queryResult)
                        {
                            strHandleMsg = $"服务器应答结果为空,系统异常,请联系管理员";
                            WaitingDialog.ChangeStateMsg(strHandleMsg);
                            SLogger.Err(res.ToString());
                            return;
                        }

                        if (queryResult.ResultCode != 0)
                        {
                            strHandleMsg = $"服务处理失败,原因:{queryResult.RetMsg}";
                            WaitingDialog.ChangeStateMsg(strHandleMsg);
                            SLogger.Err(res.ToString());
                            return;
                        }

                        var entityList = queryResult.ResultData;
                        if (null == entityList)
                        {
                            //strHandleMsg = $"返回结果不是数据列表,原因:{queryResult.RetMsg}";
                            //WaitingDialog.ChangeStateMsg(strHandleMsg);
                            //SLogger.Err(res.ToString());
                            //return;

                            // 返回结果为空
                            entityList = new List <FreBussinessOpCenterDTO>();
                        }

                        var showSearchResultList = new List <FreBusinessSearchPanelMode>();
                        foreach (var e in entityList)
                        {
                            showSearchResultList.Add(new FreBusinessSearchPanelMode(e));
                        }
                        var pageViewMode = new PaggingViewMode <FreBusinessSearchPanelMode>(
                            showSearchResultList, queryResult.ResultCount, StartSearch);
                        this.DataContext = pageViewMode;

                        this.Pagger.Init(queryResult.ResultCount, StartSearch);

                        WaitingDialog.Hide();
                    }
                    else
                    {
                        strHandleMsg = string.Format("后台请求:调用失败,原因:{0}", result.ResponseContent);
                        WaitingDialog.ChangeStateMsg(strHandleMsg);
                        SLogger.Err(res.ToString());
                        return;
                    }
                }
                catch (Exception ex)
                {
                    strHandleMsg = string.Format("软件处理出错,msg:{0}", ex.Message);
                    MessageBox.Show(strHandleMsg);
                    SLogger.Err(res.ToString(), ex);
                }
            }), DispatcherPriority.DataBind, new object[] { res });
        }