public override string RenderData() { if (PostIds == null || PostIds.Length == 0) { return(string.Empty); } PostCollection pc = ZCache.Get <PostCollection>(DataCacheKey); if (pc == null) { pc = new PostCollection(); foreach (int i in PostIds) { Post p = new Post(i); if (!p.IsNew && !p.IsDeleted && p.IsPublished) { pc.Add(p); } } ZCache.InsertCache(DataCacheKey, pc, 180); } StringBuilder sb = new StringBuilder("<ul>"); foreach (Post p in pc) { sb.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", p.Url, p.Title); } sb.Append("</ul>"); return(sb.ToString()); }
/// <summary> /// Gets all posts by the specified tag in the specified category with a max number of results /// </summary> /// <param name="tagName"></param> /// <param name="category"></param> /// <param name="numberOfPosts"></param> /// <returns></returns> public PostCollection PostsByTagAndCategory(string tagName, Category category, int numberOfPosts) { if (category == null) { return(null); } if (String.IsNullOrEmpty(tagName)) { return(PostsByCategory(category, numberOfPosts)); } else { PostCollection temp = Post.FetchPostsByTagAndCategory(tagName, category.Id); PostCollection pc = new PostCollection(); int tempCount = 0; foreach (Post p in temp) { tempCount++; if (tempCount > numberOfPosts) { break; } pc.Add(p); } return(pc); } }
protected PostCollection GetTaggedPosts(string tagName) { PostCollection pc = ZCache.Get <PostCollection>("Tags-ForRSS-" + tagName); if (pc == null) { pc = Post.FetchPostsByTag(TagName); PostCollection permissionsFiltered = new PostCollection(); foreach (Post post in pc) { permissionsFiltered.Add(post); } permissionsFiltered.AddRange(pc); foreach (Post p in pc) { if (!RolePermissionManager.GetPermissions(p.Category.Id, GraffitiUsers.Current).Read) { permissionsFiltered.Remove(p); } } pc.Clear(); int ctr = 0; foreach (Post post in permissionsFiltered) { if (ctr < Util.PageSize) { pc.Add(post); ctr++; } } ZCache.InsertCache("Tags-ForRSS-" + tagName, pc, 120); } return(pc); }
protected PostCollection GetTaggedPosts(string tagName) { PostCollection pc = ZCache.Get<PostCollection>("Tags-ForRSS-" + tagName); if (pc == null) { pc = Post.FetchPostsByTag(TagName); PostCollection permissionsFiltered = new PostCollection(); foreach (Post post in pc) { permissionsFiltered.Add(post); } permissionsFiltered.AddRange(pc); foreach (Post p in pc) { if (!RolePermissionManager.GetPermissions(p.Category.Id, GraffitiUsers.Current).Read) permissionsFiltered.Remove(p); } pc.Clear(); int ctr = 0; foreach (Post post in permissionsFiltered) { if (ctr < Util.PageSize) { pc.Add(post); ctr++; } } ZCache.InsertCache("Tags-ForRSS-" + tagName, pc, 120); } return pc; }
public override string RenderData() { if (PostIds == null || PostIds.Length == 0) return string.Empty; PostCollection pc = ZCache.Get<PostCollection>(DataCacheKey); if (pc == null) { pc = new PostCollection(); foreach(int i in PostIds) { Post p = new Post(i); if(!p.IsNew && !p.IsDeleted && p.IsPublished ) pc.Add(p); } ZCache.InsertCache(DataCacheKey, pc, 180); } StringBuilder sb = new StringBuilder("<ul>"); foreach(Post p in pc) { sb.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", p.Url, p.Title); } sb.Append("</ul>"); return sb.ToString(); }
protected override void Establish_context() { _posts = new PostCollection(); _originalPosts = new PostCollection(); for (int i = 0; i < PostSetsToGenerate; i++) { // Create set of four posts on a given date (CreatedOn), two with the same event data, two without event dates at all. _posts.Add(CreatePost(String.Format("A (Has date) {0}", i), DateTime.Now.Date.Add(TimeSpan.FromDays(i)), DateTime.Now.Date.Add(TimeSpan.FromDays(i)))); _posts.Add(CreatePost(String.Format("B (Has date) {0}", i), DateTime.Now.Date.Add(TimeSpan.FromDays(i)), DateTime.Now.Date.Add(TimeSpan.FromDays(i)))); _posts.Add(CreatePost(String.Format("A (No date) {0}", i), DateTime.Now.Date.Add(TimeSpan.FromDays(i)), null)); _posts.Add(CreatePost(String.Format("B (No date) {0}", i), DateTime.Now.Date.Add(TimeSpan.FromDays(i)), null)); } _originalPosts.AddRange(_posts); }
private void BindData(PageWidget widget) { txtTitle.Text = widget.Title; Query q = Post.CreateQuery(); q.AndWhere(Post.Columns.CategoryId, CategoryController.UnCategorizedId); q.AndWhere(Post.Columns.IsDeleted, false); q.AndWhere(Post.Columns.Status, 1); PostCollection pc = new PostCollection(); pc.LoadAndCloseReader(q.ExecuteReader()); PostCollection pcInUse = new PostCollection(); PostCollection pcNotInUse = new PostCollection(); foreach(int i in widget.PostIds) { bool found = false; foreach(Post p in pc) { if(i == p.Id) { pcInUse.Add(p); found = true; } } if(found) { pc.Remove(pcInUse[pcInUse.Count - 1]); } } the_Posts.DataSource = pc; the_Posts.DataBind(); existing_items.Items.Clear(); foreach (Post p in pcInUse) { existing_items.Items.Add(new Telligent.Glow.OrderedListItem(string.Format(this.ItemFormat, p.Name, p.Id), p.Name, p.Id.ToString())); } }
/// <summary> /// Gets all posts by the specified tag in the specified category with a max number of results /// </summary> /// <param name="tagName"></param> /// <param name="category"></param> /// <param name="numberOfPosts"></param> /// <returns></returns> public PostCollection PostsByTagAndCategory(string tagName, Category category, int numberOfPosts) { if (category == null) return null; if (String.IsNullOrEmpty(tagName)) return PostsByCategory(category, numberOfPosts); else { PostCollection temp = Post.FetchPostsByTagAndCategory(tagName, category.Id); PostCollection pc = new PostCollection(); int tempCount = 0; foreach (Post p in temp) { tempCount++; if (tempCount > numberOfPosts) break; pc.Add(p); } return pc; } }