예제 #1
0
    public GridWebServiceSelectResponse SelectMethod(GridWebServiceSelectRequest request)
    {
        GridWebServiceSelectResponse response = new GridWebServiceSelectResponse();

            try
            {
                request.CustomParameter = "进口_备案";
                WindowTabInfo tabInfo = ADInfoBll.Instance.GetWindowTabInfo(request.CustomParameter);

                if (tabInfo != null)
                {
                    ISearchManager sm = Feng.Windows.Forms.ArchiveFormFactory.GenerateSearchManager(tabInfo, null);
                    IList<ISearchExpression> searchExps = new List<ISearchExpression>();
                    IList<ISearchOrder> searchOrders = new List<ISearchOrder>();
                    if (!string.IsNullOrEmpty(request.Filter))
                    {
                        searchExps.Add(SearchExpression.Parse(request.Filter));
                    }

                    if (!string.IsNullOrEmpty(request.SortField))
                    {
                        searchOrders.Add(request.SortOrder == "ASC" ? SearchOrder.Asc(request.SortField) : SearchOrder.Desc(request.SortField));
                    }

                    sm.FirstResult = request.CurrentPageIndex * request.PageSize;
                    sm.MaxResult = request.PageSize;

                    List<TestData> arMessages = new List<TestData>();

                    object ret = sm.FindData(searchExps, searchOrders);

                    System.Data.DataTable dt = ret as System.Data.DataTable;
                    if (dt == null)
                    {
                        IEnumerable data = ret as IEnumerable;
                        foreach (object obj in data)
                        {
                            arMessages.Add(new TestData(EntityHelper.GetPropertyValue(obj, "产地").ToString()));
                        }
                    }
                    else
                    {
                        foreach (System.Data.DataRow row in dt.Rows)
                        {
                            List<object> msg = new List<object>();

                            foreach (string oColumn in request.Columns)
                            {
                                msg.Add(row[oColumn]);
                            }
                            //arMessages.Add(msg);
                        }
                    }

                    response.RecordCount = sm.FindDataCount(searchExps);
                    response.Items = arMessages;
                }
                else
                {
                    throw new ArgumentException("Invalide tabName");
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }

            return response;
    }
예제 #2
0
    public GridWebServiceSelectResponse SelectMethod(GridWebServiceSelectRequest request)
    {
        GridWebServiceSelectResponse response = new GridWebServiceSelectResponse();

        try
        {
            request.CustomParameter = "进口_备案";
            WindowTabInfo tabInfo = ADInfoBll.Instance.GetWindowTabInfo(request.CustomParameter);

            if (tabInfo != null)
            {
                ISearchManager            sm           = Feng.Windows.Forms.ArchiveFormFactory.GenerateSearchManager(tabInfo, null);
                IList <ISearchExpression> searchExps   = new List <ISearchExpression>();
                IList <ISearchOrder>      searchOrders = new List <ISearchOrder>();
                if (!string.IsNullOrEmpty(request.Filter))
                {
                    searchExps.Add(SearchExpression.Parse(request.Filter));
                }

                if (!string.IsNullOrEmpty(request.SortField))
                {
                    searchOrders.Add(request.SortOrder == "ASC" ? SearchOrder.Asc(request.SortField) : SearchOrder.Desc(request.SortField));
                }

                sm.FirstResult = request.CurrentPageIndex * request.PageSize;
                sm.MaxResult   = request.PageSize;

                List <TestData> arMessages = new List <TestData>();

                object ret = sm.FindData(searchExps, searchOrders);

                System.Data.DataTable dt = ret as System.Data.DataTable;
                if (dt == null)
                {
                    IEnumerable data = ret as IEnumerable;
                    foreach (object obj in data)
                    {
                        arMessages.Add(new TestData(EntityHelper.GetPropertyValue(obj, "产地").ToString()));
                    }
                }
                else
                {
                    foreach (System.Data.DataRow row in dt.Rows)
                    {
                        List <object> msg = new List <object>();

                        foreach (string oColumn in request.Columns)
                        {
                            msg.Add(row[oColumn]);
                        }
                        //arMessages.Add(msg);
                    }
                }

                response.RecordCount = sm.FindDataCount(searchExps);
                response.Items       = arMessages;
            }
            else
            {
                throw new ArgumentException("Invalide tabName");
            }
        }
        catch (Exception ex)
        {
            throw new ArgumentException(ex.Message);
        }


        return(response);
    }