public List <BlogPost> GetBlogPosts() { var posts = _repo.GetAllBlogPosts(); 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; } } foreach (var post in posts) { post.CategoryName = _repo.GetCategoryByPostID(post.PostID); var tagList = _repo.GetTagsByPostID(post.PostID); post.BlogTags = new List <Tag>(); if (tagList != null) { foreach (var tag in tagList) { post.BlogTags.Add(tag); } } } return(posts); }