コード例 #1
0
        public async Task SyncPostsAsync()
        {
            //var updatedPosts = await _unitOfWork.PostService.CacheAll(AddUrlAndAltertnateTitle, modifiedPosts);

            var posts = (await _postRepository.GetLastModifiedAsync(new SearchQuery())).ToList();

            foreach (var post in posts)
            {
                var cachedPost = await _postService.GetAsync(post.PostName);

                // Maybe add to cache because we already have it / remove from cache
                if (cachedPost == NullPost.Instance)
                {
                    return;
                }

                if (post.PostModifiedGmt == cachedPost.PostModifiedGmt)
                {
                    continue;
                }

                await _postService.AddMetaAndTermsAndHtmlAsync(post);

                cachedPost.Title       = post.Title;
                cachedPost.Excerpt     = post.Excerpt;
                cachedPost.PostDateGmt = post.PostDateGmt;
                cachedPost.HtmlContent = post.HtmlContent;
                cachedPost.Status      = post.Status;
            }
        }