//public static List<MemberCardModel> GetModerators() //{ // using (var webClient = new WebClient()) // { // string adminKeyBase64 = CommunityHelper.TelligentAuth(); // webClient.Headers.Add("Rest-User-Token", adminKeyBase64); // var roleid = Sitecore.Configuration.Settings.GetSetting("TelligentModeratorRoleID") ?? "3"; // var serverHost = Sitecore.Configuration.Settings.GetSetting("TelligentConfig") ?? "localhost/telligent.com"; // var requestUrl = serverHost + "/api.ashx/v2/roles/" + roleid + "/users.xml"; // var xml = webClient.DownloadString(requestUrl); // var xmlDoc = new XmlDocument(); // xmlDoc.LoadXml(xml); // var nodes = xmlDoc.SelectNodes("/Response/Users/User"); // //// PagedList<Comment> commentList = PublicApi.Comments.Get(new CommentGetOptions() { UserId = 2100 }); // //// lblCount.Text = nodes.Count.ToString(); // List<MemberCardModel> memberCardSrc = new List<MemberCardModel>(); // foreach (XmlNode item in nodes) // { // MemberCardModel cm = new MemberCardModel(); // cm.AvatarUrl = item.SelectSingleNode("AvatarUrl").InnerText; // // TODO: This is to change once we figure out retrieving users by roleid // cm.UserLabel = "Moderator"; // cm.UserLocation = item.SelectSingleNode("Location").InnerText; // cm.UserName = item.SelectSingleNode("Username").InnerText; // memberCardSrc.Add(cm); // cm = null; // } // return memberCardSrc; // } //} /// <summary> /// Gets a list of blog posts that a specified blog contains. /// </summary> /// <param name="blogId">As string, if multiple, separate with a comma. Ex:("1,2,4")</param> /// <param name="count">As string, this is the number of records to be returned.</param> /// <returns></returns> public static List<BlogPost> ListBlogPosts(string blogId, string count) { using (var webClient = new WebClient()) { webClient.Headers.Add("Rest-User-Token", TelligentAuth()); var requestUrl = GetApiEndPoint(string.Format("blogs/posts.xml?BlogIds={0}&PageSize={1}", blogId, count)); var xml = webClient.DownloadString(requestUrl); List<BlogPost> blogPosts = new List<BlogPost>(); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); XmlNodeList nodes = xmlDoc.SelectNodes("Response/BlogPosts/BlogPost"); foreach (XmlNode node in nodes) { XmlNode author = node.SelectSingleNode("Author"); var blogName = CommunityHelper.BlogNameById(node["BlogId"].InnerText); string title = string.Empty; string sitecoreId = string.Empty; string url = string.Empty; if (node["Title"].InnerText.Contains("{")) { string[] s = node["Title"].InnerText.Split('{'); title = s[0]; url = LinkManager.GetItemUrl(Sitecore.Context.Database.GetItem("{" + s[1])); } else { url = Regex.Replace(LinkManager.GetItemUrl(Sitecore.Context.Database.GetItem("{37FB73FC-F1B3-4C04-B15D-CAFAA7B7C87F}")) + "/" + blogName + "/" + node["Title"].InnerText, ".aspx", ""); } BlogPost blogPost = new BlogPost() { Title = node["Title"].InnerText, ContentId = node["ContentId"].InnerText, Body = FormatString100(node["Body"].InnerText), PublishedDate = UnderstoodDotOrg.Common.Helpers.DataFormatHelper.FormatDate(node["PublishedDate"].InnerText), BlogName = blogName, Author = author["DisplayName"].InnerText, // TODO: Fix this logic a lot Url = url, ParentUrl = Regex.Replace(LinkManager.GetItemUrl(Sitecore.Context.Database.GetItem("{37FB73FC-F1B3-4C04-B15D-CAFAA7B7C87F}")) + "/blogposts?BlogId=" + node["BlogId"].InnerText, ".aspx", ""), CommentCount = node["CommentCount"].InnerText, }; blogPosts.Add(blogPost); } return blogPosts; } }
public static BlogPost ReadBlogBody(int blogId, int blogPostId) { int id = 0; int postId = 0; BlogPost blogPost = new BlogPost(); if (String.IsNullOrEmpty(blogId.ToString()) || String.IsNullOrEmpty(blogPostId.ToString()) || !Int32.TryParse(blogId.ToString(), out id) || !Int32.TryParse(blogPostId.ToString(), out postId)) { return blogPost; } using (var webClient = new WebClient()) { try { webClient.Headers.Add("Rest-User-Token", TelligentAuth()); var requestUrl = GetApiEndPoint(String.Format("blogs/{0}/posts/{1}.xml", blogId, blogPostId)); var xml = webClient.DownloadString(requestUrl); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); XmlNode node = xmlDoc.SelectSingleNode("Response/BlogPost"); XmlNode auth = xmlDoc.SelectSingleNode("Response/BlogPost/Author"); blogPost = new BlogPost { Body = node["Body"].InnerText, Title = node["Title"].InnerText, ContentId = node["ContentId"].InnerText, ContentTypeId = node["ContentTypeId"].InnerText, ContentUrl = node["Url"].InnerText, BlogName = CommunityHelper.BlogNameById(node["BlogId"].InnerText), PublishedDate = UnderstoodDotOrg.Common.Helpers.DataFormatHelper.FormatDate(node["PublishedDate"].InnerText), Author = auth["DisplayName"].InnerText }; } catch { } // TODO: Add logging } return blogPost; }