Example #1
0
        public PostIndexViewModel Handle(PostIndexRequest message)
        {
            var result = new PostIndexViewModel();

            result.Active          = ActivePosts.ToList();
            result.FuturePostCount = FuturePosts.Count;

            return(result);
        }
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);
        }