예제 #1
0
        public List <BlogPost> GetPostsByTagID(int id)
        {
            var posts = _repo.GetBlogPostsByTag(id);

            foreach (var post in posts)
            {
                post.CategoryName = _repo.GetCategoryByPostID(post.PostID);
                post.BlogTags     = new List <Tag>();
                var tagList = _repo.GetTagsByPostID(post.PostID);
                if (tagList != null)
                {
                    foreach (var tag in tagList)
                    {
                        post.BlogTags.Add(tag);
                    }
                }
            }
            // copied loop to remove timed out posts
            foreach (var post in posts)
            {
                post.CategoryName = _repo.GetCategoryByPostID(post.PostID);
                // checks to see if PublishDate is after today, or if ExpirationDate is before today
                if (post.PublishDate.HasValue && DateTime.Compare(post.PublishDate.Value, DateTime.Now) > 0)
                {
                    posts.Remove(post);
                    break;
                }
                if (post.ExpirationDate.HasValue && DateTime.Compare(post.ExpirationDate.Value, DateTime.Now) < 0)
                {
                    posts.Remove(post);
                    break;
                }
            }

            return(posts);
        }
예제 #2
0
        public void GetBlogPostsByTag(int tagID, int expected)
        {
            var result = repo.GetBlogPostsByTag(tagID).Count;

            Assert.AreEqual(result, expected);
        }