コード例 #1
0
ファイル: HomeModule.cs プロジェクト: az0day/MZBlog-LiteDB
        public dynamic ReturnHomeAction(RecentBlogPostsBindingModel input)
        {
            var model = _viewFactory.Get <RecentBlogPostsBindingModel, RecentBlogPostsViewModel>(input);

            if (model.Posts.Count() == 0)
            {
                if (input.Page > 1)
                {
                    return(HttpStatusCode.NotFound);
                }
                else
                {
                    return(Response.AsText("MZBlog尚未发现任何已经发布的文章哦!", "text/html; charset=utf-8"));
                }
            }
            if (input.Page == 1)
            {
                ViewBag.Title = "首页";
            }
            else
            {
                ViewBag.Title = "文章列表";
            }

            return(View["Index", model]);
        }
コード例 #2
0
ファイル: HomeModule.cs プロジェクト: lokvora/ITmeze.com
        public Negotiator ReturnHomeAction(RecentBlogPostsBindingModel input)
        {
            ViewBag.Title = "Recent posts";
            var model = _viewFactory.Get <RecentBlogPostsBindingModel, RecentBlogPostsViewModel>(input);

            return(View["Index", model]);
        }
コード例 #3
0
ファイル: IndexModule.cs プロジェクト: dimobelov/Jog
        public dynamic IndexAction(RecentBlogPostsBindingModel input, string tag = "")
        {
            var model = UniversalHelper.Project(input, BlogPosts, tag);

            if (!model.Posts.Any())
            {
                return(input.Page > 1 ? HttpStatusCode.NotFound : Response.AsText("Just1n尚未发表任何文章!", "text/html; charset=utf-8"));
            }
            ViewBag.Tag = tag;
            return(View["index", model]);
        }
コード例 #4
0
ファイル: UniversalHelper.cs プロジェクト: dimobelov/Jog
        public static RecentBlogPostsViewModel Project(RecentBlogPostsBindingModel input, IEnumerable <BlogPost> blogPosts, string tag = "")
        {
            var allPosts = tag == ""
                ? blogPosts.Where(p => p.Status == PostStatus.Publish && p.Type == PostType.Post).ToList()
                : blogPosts.Where(
                p => p.Status == PostStatus.Publish && p.Type == PostType.Post && p.Tags.Contains(tag)).ToList();
            var tabkePosts =
                allPosts.OrderByDescending(p => p.Date).TakePage(input.Page, pageSize: input.Take + 1).ToList();
            var count = allPosts.Count;

            var pagedPosts  = tabkePosts.Take(input.Take).ToList();
            var hasNextPage = tabkePosts.Count > input.Take;

            return(new RecentBlogPostsViewModel
            {
                Posts = pagedPosts,
                CurrentPage = input.Page,
                HasNextPage = hasNextPage,
                Pages = count % input.Take == 0 ? count / input.Take : count / input.Take + 1
            });
        }
コード例 #5
0
ファイル: HomeModule.cs プロジェクト: 88037199/MZBlog-LiteDB
        public dynamic ReturnHomeAction(RecentBlogPostsBindingModel input)
        {
            var model = _viewFactory.Get<RecentBlogPostsBindingModel, RecentBlogPostsViewModel>(input);
            if (model.Posts.Count() == 0)
            {
                if (input.Page > 1)
                    return HttpStatusCode.NotFound;
                else
                    return Response.AsText("MZBlog尚未发现任何已经发布的文章哦!", "text/html; charset=utf-8");
            }
            if (input.Page == 1)
                ViewBag.Title = "首页";
            else
                ViewBag.Title = "文章列表";

            return View["Index", model];
        }