예제 #1
0
        protected async void GetPosts(string groupId)
        {
            LinkedInGroup group = groups[groupId];
            LinkedInGetGroupPostsOptions postOptions = new LinkedInGetGroupPostsOptions();

            postOptions.PostOptions.SelectAll();
            postOptions.GroupId = group.Id;
            await Task.Run(() => group.LoadPosts(postOptions));

            foreach (LinkedInGroupPost post in group.Posts)
            {
                if (!posts.ContainsKey(post.Id))
                {
                    posts[post.Id]     = post;
                    postGroup[post.Id] = group;
                }

                CreateCarrier("LinkedInPost", signal =>
                {
                    signal.LinkedInGroup.Name.Text.Value = group.Name;
                    signal.LinkedInGroup.Id = group.Id;
                    signal.Id                 = post.Id;
                    signal.CreationTime       = post.CreationTime;
                    signal.Summary.Text.Value = post.Summary;
                    signal.Title.Text.Value   = post.Title;
                    signal.LinkedInPostCreator.PersonName.Name.Text.Value = post.Creator.FirstName + " " + post.Creator.LastName;
                });
            }
        }
예제 #2
0
        public List <GlobusLinkedinLib.App.Core.LinkedInGroup.Group_Updates> GetGroupsName(oAuthLinkedIn objoAuthLinkedIn)
        {
            List <GlobusLinkedinLib.App.Core.LinkedInGroup.Group_Updates> objGroup = new List <GlobusLinkedinLib.App.Core.LinkedInGroup.Group_Updates>();
            LinkedInGroup objLinkedInGroup = new LinkedInGroup();

            objGroup = objLinkedInGroup.GetGroupUpdates(objoAuthLinkedIn, 20);
            return(objGroup);
        }
예제 #3
0
        protected void ShowGroupPosts(TreeNode node, LinkedInGroup group)
        {
            node.Nodes.Clear();

            foreach (LinkedInGroupPost post in group.Posts)
            {
                TreeNode childNode = node.Nodes.Add(post.Title);
                childNode.Tag = post;
            }
        }
예제 #4
0
        protected async void LoadPostsForGroup(TreeNode node, LinkedInGroup group)
        {
            LinkedInGetGroupPostsOptions options = new LinkedInGetGroupPostsOptions();

            options.PostOptions.SelectAll();
            options.GroupId = group.Id;
            ShowLoading(node);

            await Task.Run(() => group.LoadPosts(options));

            ShowGroupPosts(node, group);
            node.ExpandAll();
        }
예제 #5
0
 protected void OnNodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     if (e.Node.Tag is LinkedInGroup)
     {
         LinkedInGroup group = (LinkedInGroup)e.Node.Tag;
         LoadPostsForGroup(e.Node, group);
     }
     else if (e.Node.Tag is LinkedInGroupPost)
     {
         LinkedInGroupPost post = (LinkedInGroupPost)e.Node.Tag;
         LoadCommentsForPost(e.Node, post);
     }
 }
예제 #6
0
        protected void OnNodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            if (e.Node.Tag is LinkedInGroup)
            {
                LinkedInGroup group = (LinkedInGroup)e.Node.Tag;
                sb.Append("Group: " + group.Name);
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("Category: " + group.Category);
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("Description: " + group.ShortDescription);
                btnComment.Enabled = false;
            }
            else if (e.Node.Tag is LinkedInGroupPost)
            {
                LinkedInGroupPost post = (LinkedInGroupPost)e.Node.Tag;
                sb.Append("Title: " + post.Title);
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("By: " + post.Creator.FirstName + " " + post.Creator.LastName);
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("On: " + post.CreationTime.ToString());
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("Summary: " + post.Summary);
                btnComment.Enabled = true;
                selectedPost       = post;
                selectedPostNode   = e.Node;
            }
            else if (e.Node.Tag is LinkedInGroupComment)
            {
                LinkedInGroupComment comment = (LinkedInGroupComment)e.Node.Tag;
                sb.Append("By: " + comment.Creator.FirstName + " " + comment.Creator.LastName);
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append("On: " + comment.CreationTime.ToString());
                sb.Append(CRLF);
                sb.Append(CRLF);
                sb.Append(comment.Text);
                btnComment.Enabled = true;
            }

            tbInfo.Text = sb.ToString();
        }
예제 #7
0
        protected async void GetComments(string postId)
        {
            LinkedInGroupPost post  = posts[postId];
            LinkedInGroup     group = postGroup[post.Id];
            LinkedInGetGroupPostCommentsOptions commentOptions = new LinkedInGetGroupPostCommentsOptions();

            commentOptions.CommentOptions.SelectAll();
            commentOptions.PostId = post.Id;
            await Task.Run(() => post.LoadComments(commentOptions));

            foreach (LinkedInGroupComment comment in post.Comments)
            {
                CreateCarrier("LinkedInComment", signal =>
                {
                    signal.LinkedInGroup.Name.Text.Value = group.Name;
                    signal.LinkedInGroup.Id = group.Id;
                    signal.LinkedInPost.Title.Text.Value = post.Title;
                    signal.LinkedInPost.Id = post.Id;
                    signal.CreationTime    = comment.CreationTime;
                    signal.Comment         = comment.Text;
                    signal.LinkedInCommentCreator.PersonName.Name.Text.Value = comment.Creator.FirstName + " " + comment.Creator.LastName;
                });
            }
        }