Example #1
0
        public static IList FindPage(ObjectInfo state, String queryString)
        {
            // see: System/Web/Mvc/Routes/RouteTool.cs, line 211

            if (state.Pager.getCurrent() <= 0)
            {
                int page = CurrentRequest.getCurrentPage();
                state.Pager.setCurrent(page);
            }

            if (queryString != null && queryString.ToLower().StartsWith("order "))
            {
                queryString = " " + queryString;
            }

            PageCondition pc = new PageCondition();

            pc.ConditionStr = queryString;
            pc.Property     = state.Includer.SelectedProperty;
            pc.CurrentPage  = state.Pager.getCurrent();
            pc.Size         = state.Pager.getSize();
            pc.OrderStr     = state.Order;
            pc.Pager        = state.Pager;

            String sql = new SqlBuilder(state.EntityInfo).GetPageSql(pc);

            return(EntityPropertyUtil.FindList(state, sql));
        }
Example #2
0
        public virtual void Category(long categoryId)
        {
            view("Index");

            // 从第二页开始,是ajax获取,所以不需要多余的layout内容
            if (CurrentRequest.getCurrentPage() > 1)
            {
                HideLayout(typeof(wojilu.Web.Controller.LayoutController));
                HideLayout(typeof(wojilu.Web.Controller.Photo.LayoutController));
                HideLayout(typeof(wojilu.Web.Controller.Photo.Wf.LayoutController));
            }

            // 1) 超过最大滚页数,则不再自动翻页
            int maxPage = 10;

            if (CurrentRequest.getCurrentPage() > maxPage)
            {
                echoText(".");
                return;
            }

            DataPage <PhotoPost> list = sysPostService.GetShowByCategory(categoryId, 20);

            // 2) 或者超过实际页数,也不再自动翻页
            if (CurrentRequest.getCurrentPage() > list.PageCount && list.PageCount > 0)
            {
                echoText(".");
                return;
            }

            PhotoBinder.BindPhotoList(this, list, ctx.viewer.Id);
        }
Example #3
0
        public virtual void Index()
        {
            ctx.Page.Title       = PhotoAppSetting.Instance.MetaTitle;
            ctx.Page.Keywords    = PhotoAppSetting.Instance.MetaKeywords;
            ctx.Page.Description = PhotoAppSetting.Instance.MetaDescription;

            // 从第二页开始,是ajax获取,所以不需要多余的layout内容
            if (CurrentRequest.getCurrentPage() > 1)
            {
                HideLayout(typeof(wojilu.Web.Controller.LayoutController));
                HideLayout(typeof(wojilu.Web.Controller.Photo.LayoutController));
                HideLayout(typeof(wojilu.Web.Controller.Photo.Wf.LayoutController));
            }

            // 1) 超过最大滚页数,则不再自动翻页
            int maxPage = 10;

            if (CurrentRequest.getCurrentPage() > maxPage)
            {
                echoText(".");
                return;
            }

            DataPage <PhotoPost> list = sysPostService.GetShowRecent(20);

            // 2) 或者超过实际页数,也不再自动翻页
            if (CurrentRequest.getCurrentPage() > list.PageCount && list.PageCount > 0)
            {
                echoText(".");
                return;
            }

            PhotoBinder.BindPhotoList(this, list, ctx.viewer.Id);
        }
Example #4
0
        public void Category(int id)
        {
            setWaterfallView();

            String userUrl = ctx.route.getItem("user");
            User   u       = userService.GetByUrl(userUrl);

            if (u == null)
            {
                echoRedirect("用户不存在");
                return;
            }

            PhotoAlbum album = categoryService.GetById(id);

            set("albumName", album.Name);
            set("showAlbumCss", "display:block");
            set("albumDataCount", album.DataCount);


            DataPage <PhotoPost> list = postService.GetShowByUser(u.Id, id, 12);

            // 2) 或者超过实际页数,也不再自动翻页
            if (CurrentRequest.getCurrentPage() > list.PageCount && list.PageCount > 0)
            {
                echoText(".");
                return;
            }

            PhotoBinder.BindPhotoList(this, list, u.Id);
        }
Example #5
0
 public int getCurrent()
 {
     if (_current <= 0)
     {
         return(CurrentRequest.getCurrentPage());
     }
     return(_current);
 }
Example #6
0
        public static DataPage <T> GetPage(List <T> list, int pageSize, int pageIndex = 0)
        {
            ObjectPage op = new ObjectPage();

            if (pageSize <= 0)
            {
                pageSize = 20;
            }
            op.setSize(pageSize);
            op.RecordCount = list.Count;
            // 计算页数
            op.computePageCount();

            // 矫正当前页码
            int currentPageNumber = CurrentRequest.getCurrentPage();

            if (pageIndex > 0)
            {
                currentPageNumber = pageIndex;
            }
            op.setCurrent(currentPageNumber);
            op.resetCurrent();
            currentPageNumber = op.getCurrent();

            // 得到结果集
            List <T> results = new List <T>();
            int      start   = (currentPageNumber - 1) * pageSize;
            int      count   = 1;

            for (int i = start; i < list.Count; i++)
            {
                if (count > pageSize)
                {
                    break;
                }
                results.Add(list[i]);
                count++;
            }

            // 填充分页数据
            DataPage <T> page = new DataPage <T>();

            page.Results     = results;
            page.Current     = currentPageNumber;
            page.Size        = pageSize;
            page.RecordCount = list.Count;

            page.PageCount = op.PageCount;

            return(page);
        }
Example #7
0
        public void Like()
        {
            setWaterfallView();

            String userUrl = ctx.route.getItem("user");
            User   u       = userService.GetByUrl(userUrl);

            if (u == null)
            {
                echoRedirect("用户不存在");
                return;
            }

            DataPage <PhotoPost> list = likeService.GetByUser(u.Id, 12);

            // 2) 或者超过实际页数,也不再自动翻页
            if (CurrentRequest.getCurrentPage() > list.PageCount && list.PageCount > 0)
            {
                echoText(".");
                return;
            }

            PhotoBinder.BindPhotoList(this, list, ctx.viewer.Id);
        }