Esempio n. 1
0
        /**
         * Some dummy data used for testing -- probably refactor this to a Unit Test at some point
         ***/
        public void GenerateDummyData()
        {
            ChatterFeedDataSource chatterFeedDataSource = (ChatterFeedDataSource)App.Current.Resources["chatterFeedDataSource"];
            if (chatterFeedDataSource != null)
            {
                ChatterFeedItem feedItem1 = new ChatterFeedItem();
                feedItem1.Id = "sdfkldjskldfsjhkdfshj";
                feedItem1.Title = feedItem1.Content = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam";
                feedItem1.AuthorName = "Barack Obama";
                feedItem1.GroupName = "Mobile";
                feedItem1.CreatedDate = "2012-10-01T16:24:29.000Z";
                chatterFeedDataSource.Items.Add(feedItem1);

                ChatterFeedItem feedItem2 = new ChatterFeedItem();
                feedItem2.Id = "dsfdfsf32sdfsdfdsf";
                feedItem2.Title = feedItem2.Content = "Test Test Test Test";
                feedItem2.AuthorName = "Harry Houdini";
                feedItem2.CreatedDate = "2012-10-01T16:24:29.000Z";
                chatterFeedDataSource.Items.Add(feedItem2);
            }
        }
Esempio n. 2
0
        /**
         * Load the Chatter feed from the Chatter REST API, and add to the data source
         **/
        private async void LoadChatterFeed()
        {
            SFDCRestApi sfdcRest = new SFDCRestApi();
           // sfdcRest.GenerateDummyData();

            ChatterFeedDataSource chatterFeedDataSource = (ChatterFeedDataSource)App.Current.Resources["chatterFeedDataSource"];

            this.DefaultViewModel["Items"] = chatterFeedDataSource.Items;          

            JObject responseObject = await sfdcRest.Request("GET", "chatter/feeds/news/me/feed-items?pageSize=100");

            JArray responseItems = (JArray)responseObject["items"];

            foreach (JObject itemObject in (JArray)responseObject["items"])
            {
                Debug.WriteLine((string)itemObject["body"]["text"]);

                ChatterFeedItem feedItem = new ChatterFeedItem();
                feedItem.Id = (string)itemObject["id"];
                feedItem.Content = WebUtility.HtmlDecode((string)itemObject["body"]["text"]);
                feedItem.Title = WebUtility.HtmlDecode(StringUtil.TruncateAtWord(feedItem.Content, 50));
                feedItem.AuthorName = WebUtility.HtmlDecode((string)itemObject["actor"]["name"]);
                feedItem.GroupName = WebUtility.HtmlDecode((string)itemObject["parent"]["name"]);
                feedItem.CreatedDate = ((DateTime)itemObject["createdDate"]).ToString();
                feedItem.Image = (string)itemObject["actor"]["photo"]["largePhotoUrl"]+"?oauth_token="+SFDCSession.Instance.AccessToken;
                feedItem.Comments = new List<ChatterFeedItemComment>();
                foreach (JObject commentObject in itemObject["comments"]["comments"])
                {
                    ChatterFeedItemComment feedItemComment = new ChatterFeedItemComment();
                    feedItemComment.AuthorName = WebUtility.HtmlDecode((string)commentObject["user"]["name"]);
                    feedItemComment.Id = (string)commentObject["id"];
                    feedItemComment.Image = (string)commentObject["user"]["photo"]["largePhotoUrl"] + "?oauth_token=" + SFDCSession.Instance.AccessToken;
                    feedItemComment.CreatedDate = ((DateTime)commentObject["createdDate"]).ToString();
                    feedItemComment.Content = WebUtility.HtmlDecode((string)commentObject["body"]["text"]);
                    feedItem.Comments.Add(feedItemComment);
                }

                chatterFeedDataSource.Items.Add(feedItem);
            }
        }