Exemplo n.º 1
0
        public BlogPostViewModel Index(BlogPostViewModel inModel)
        {
            var badRedirectResult = new BlogPostViewModel {
                ResultOverride = new RedirectResult(_resolver.PageNotFound())
            };

            if (inModel.Slug.IsEmpty())
            {
                return(badRedirectResult);
            }

            var post = _repository.Query(new PostBySlug(inModel.Slug)).SingleOrDefault();

            if (post == null)
            {
                return(badRedirectResult);
            }

            User user = inModel.CurrentUser;

            var postDisplay = new PostDisplay(post);

            return(new BlogPostViewModel
            {
                Post = postDisplay,
                Comment = new CommentFormDisplay(new Comment {
                    User = user
                }, postDisplay),
                SiteName = "{0} - {1}".ToFormat(inModel.SiteName, postDisplay.Title),
            });
        }