public async void Chatter_Add_Comment()
        {
            var feedItem = await postFeedItem(_chatterClient);

            var feedId = feedItem.id;

            var messageSegment = new MessageSegmentInput
            {
                text = "Comment testing 1, 2, 3",
                type = "Text"
            };

            var body = new MessageBodyInput {
                messageSegments = new List <MessageSegmentInput> {
                    messageSegment
                }
            };
            var commentInput = new FeedItemInput
            {
                attachment = null,
                body       = body
            };

            var comment = await _chatterClient.PostFeedItemCommentAsync <Comment>(commentInput, feedId);

            Assert.IsNotNull(comment);
        }
        private async Task <FeedItem> postFeedItem(ChatterClient chatter)
        {
            var me = await chatter.MeAsync <UserDetail>();

            var id = me.id;

            var messageSegment = new MessageSegmentInput
            {
                text = "Testing 1, 2, 3",
                type = "Text"
            };

            var body = new MessageBodyInput {
                messageSegments = new List <MessageSegmentInput> {
                    messageSegment
                }
            };
            var feedItemInput = new FeedItemInput()
            {
                attachment = null,
                body       = body
            };

            var feedItem = await chatter.PostFeedItemAsync <FeedItem>(feedItemInput, id);

            return(feedItem);
        }
Beispiel #3
0
        private async Task <FeedItem> postFeedItem(IChatterClient chatter)
        {
            var me = await chatter.MeAsync <UserDetail>();

            var id = me.id;

            var messageSegment = new MessageSegmentInput
            {
                Text = "Testing 1, 2, 3",
                Type = "Text"
            };

            var body = new MessageBodyInput {
                MessageSegments = new List <MessageSegmentInput> {
                    messageSegment
                }
            };
            var feedItemInput = new FeedItemInput()
            {
                Attachment      = null,
                Body            = body,
                SubjectId       = id,
                FeedElementType = "FeedItem"
            };

            var feedItem = await chatter.PostFeedItemAsync <FeedItem>(feedItemInput, id);

            return(feedItem);
        }
        public async Task <string> PostToChatter(string message, string parentObjectId, AuthorizationToken authToken)
        {
            UserDetail currentChatterUser;

            try
            {
                currentChatterUser = await ExecuteClientOperationWithTokenRefresh(CreateChatterClient, x => x.MeAsync <UserDetail>(), authToken);
            }
            catch (ForceException ex)
            {
                _logger.Error("Failed to retrieve information about current Salesforce user", ex);
                throw;
            }
            //set the message segment with the given feed text
            var messageSegment = new MessageSegmentInput
            {
                Text = message,
                Type = "Text"
            };
            //prepare the body
            var body = new MessageBodyInput {
                MessageSegments = new List <MessageSegmentInput> {
                    messageSegment
                }
            };
            //prepare feed item input by setting the given parent object id
            var feedItemInput = new FeedItemInput
            {
                Attachment      = null,
                Body            = body,
                SubjectId       = parentObjectId,
                FeedElementType = "FeedItem"
            };

            try
            {
                var feedItem = await ExecuteClientOperationWithTokenRefresh(CreateChatterClient, x => x.PostFeedItemAsync <FeedItem>(feedItemInput, currentChatterUser.id), authToken);

                return(feedItem?.Id ?? string.Empty);
            }
            catch (ForceException ex)
            {
                _logger.Error($"Failed to post message '{message}' to the chatter of object '{parentObjectId}'", ex);
                throw;
            }
        }
        public async void Chatter_Add_Comment_With_Mention_IsNotNull()
        {
            var chatter = await GetChatterClient();

            var feedItem = await postFeedItem(chatter);

            var feedId = feedItem.id;

            var me = await chatter.MeAsync <UserDetail>();

            var meId = me.id;

            var messageSegment1 = new MessageSegmentInput()
            {
                id   = meId,
                type = "Mention",
            };

            var messageSegment2 = new MessageSegmentInput()
            {
                text = "Comment testing 1, 2, 3",
                type = "Text",
            };

            var body = new MessageBodyInput
            {
                messageSegments = new List <MessageSegmentInput>
                {
                    messageSegment1,
                    messageSegment2
                }
            };
            var commentInput = new FeedItemInput()
            {
                attachment = null,
                body       = body
            };

            var comment = await chatter.PostFeedItemCommentAsync <Comment>(commentInput, feedId);

            Assert.IsNotNull(comment);
        }
Beispiel #6
0
        public async Task Chatter_Add_Comment_With_Mention_IsNotNull()
        {
            var feedItem = await postFeedItem(_chatterClient);

            var feedId = feedItem.Id;

            var me = await _chatterClient.MeAsync <UserDetail>();

            var meId = me.id;

            var messageSegment1 = new MessageSegmentInput
            {
                Id   = meId,
                Type = "Mention",
            };

            var messageSegment2 = new MessageSegmentInput
            {
                Text = "Comment testing 1, 2, 3",
                Type = "Text",
            };

            var body = new MessageBodyInput
            {
                MessageSegments = new List <MessageSegmentInput>
                {
                    messageSegment1,
                    messageSegment2
                }
            };
            var commentInput = new FeedItemInput
            {
                Attachment = null,
                Body       = body
            };

            var comment = await _chatterClient.PostFeedItemCommentAsync <Comment>(commentInput, feedId);

            Assert.IsNotNull(comment);
        }