public ActionResult GetGridJson(MemberSearchView search, int page = 1)
        {
            var data = _MemberService.GetList(search, page, PageSize);

            return(Content(new
            {
                rows = data,
                total = data.PageCount,
                page = data.PageIndex,
                records = data.TotalCount
            }.ToJson()));
        }
        public PagedList <MemberDetailView> GetList(MemberSearchView search, int pageIndex, int pageSize = 20)
        {
            var expression = base.GetFilterEnabled();

            if (!string.IsNullOrEmpty(search.keyword))
            {
                var keyword = search.keyword;
                expression = expression.And(t => t.UserName.Contains(search.keyword) ||
                                            t.RealName.Contains(search.keyword) ||
                                            t.Telephone.Contains(keyword) ||
                                            t.MobilePhone.Contains(keyword));
            }

            if (search.UserLevel.HasValue)
            {
                expression = expression.And(p => p.UserLevel == (int)search.UserLevel);
            }

            return(_Respository.GetPagedList(t => new MemberDetailView
            {
                Id = t.Id,
                UserName = t.UserName,
                UserLevel = (UserLevel)t.UserLevel,
                UserScore = t.UserScore,
                RealName = t.RealName,
                Address = t.Address,
                Company = t.Company,
                Position = t.Position,
                Telephone = t.Telephone,
                HomePhone = t.HomePhone,
                Tax = t.Tax,
                Email = t.Email,
                Birthday = t.Birthday,
                MobilePhone = t.MobilePhone,
                ZipCode = t.ZipCode,
                EnabledMark = t.EnabledMark
            }, expression, pageIndex, pageSize, d => d.OrderBy(t => t.SortCode)));
        }