Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override Task <ActionResult> Execute(object sender, EventArgs args, object obj)
        {
            // todo
            TweetWPFViewModel rootVM = obj as TweetWPFViewModel;

            rootVM.IsReloadEnabled = false;

            TweetTab tab = rootVM.SelectedTabHeader;

            ReloadTimeline(tab);

            rootVM.IsReloadEnabled = true;

            return(OK);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        private void ReloadTimeline(TweetTab tab)
        {
            IEnumerable <ITweet> tweets = new List <ITweet>();
            List <ITweet>        cache  = null;

            if (tab.Key == "HOME")
            {
                tweets = Timeline.GetHomeTimeline();
                cache  = ViewModel.HomeTweets;
            }
            else if (tab.Key == "MENTION")
            {
                tweets = Timeline.GetMentionsTimeline();
                cache  = ViewModel.MentionTweets;
            }

            ITweet last = cache.LastOrDefault();

            foreach (ITweet tweet in tweets.Reverse())
            {
                if (last == null)
                {
                    cache.Insert(0, tweet);
                    ViewModel.Tweets.Insert(0, tweet);
                    continue;
                }

                // todo : retweet
                if (last.CreatedAt < tweet.CreatedAt)
                {
                    cache.Insert(0, tweet);
                    ViewModel.Tweets.Insert(0, tweet);
                    continue;
                }
            }
        }