Example #1
0
        public object Csv(PostRequest request)
        {
            var model = Execute(request);
            if (model == null) return null;

            var url = new UrlHelper(HttpContext.Request.RequestContext);
            return new
            {
                model.Post.Title,
                model.Post.PublishedAtCst,
                Url = url.RouteUrl("canonical-slug", new {slug = model.Post.Slug}, "http"),
                model.Post.Content
            };
        }
Example #2
0
        public PostGetViewModel Handle(PostRequest message, PostGetViewModel result)
        {
            var post = ActivePosts.FirstOrDefault();
            if (message.Slug != null) post = AllPosts.FirstOrDefault(x => x.Slug.ToLower() == message.Slug.ToLower());
            if (post == null) return result; //Decision: don't throw, handle downstream as to what this means

            var previous = ActivePosts.OrderBy(x => x.PublishedAtCst).FirstOrDefault(x => x.PublishedAtCst > post.PublishedAtCst);
            var next = ActivePosts.FirstOrDefault(x => x.PublishedAtCst < post.PublishedAtCst);

            result.Post = post;
            result.Previous = previous;
            result.Next = next;

            return result;
        }
Example #3
0
 public PostGetViewModel Execute(PostRequest request)
 {
     var model = _mediator.Send<PostRequest, PostGetViewModel>(request);
     if (model.Post == null) return null;
     return model;
 }