Ejemplo n.º 1
0
        public HomeModule(IBlogRepository blogRepository)
        {
            _blogRepository = blogRepository;

            Get["/"] = parameters => View["Index"];

            Get["/blog/page/{pagenumber}"] = parameters =>
                                                            {
                                                                int pageNumber = parameters.pagenumber ?? 1;

                                                                Paged<Post> model = _blogRepository.GetBlogUrlFriendlyPosts(Domain, pageNumber);

                                                                return View["Blog", model];
                                                            };

            Get["/blog/{title}"] = parameters =>
                                                            {
                                                                string title = (string)parameters.title;

                                                                Post model = _blogRepository.GetPost(title, Domain);

                                                                return View["BlogDetail", model];
                                                            };
            //I know you can do Get[""] = ReturnTagModelAndView; but its hard to tell which route is being invoked
            Get["/blog/tag/{tagname}"] = parameters => ReturnTagModelAndView(parameters);

            Get["/blog/tag/{tagname}/page/{pagenumber}"] = parameters => ReturnTagModelAndView(parameters);

            Get["/blog/rss"] = parameters =>
                                   {
                                       //return first page
                                       Paged<Post> model = _blogRepository.GetBlogUrlFriendlyPosts(Domain, 1);
                                       return Response.AsRSS(model.Data, "My Blog");
                                   };
        }