Ejemplo n.º 1
0
        private IList <ITweet> PullUserTimeLineTweets(SocialAccount account, int maxNumberOfTweetsRetrieve, DateTime since)
        {
            var timeLineTweets = new List <ITweet>();
            var tweets         = _twitterClient.GetUserTimeline(long.Parse(account.SocialUser.OriginalId), maxNumberOfTweetsRetrieve);

            while (tweets != null && tweets.Any())
            {
                if (tweets.First().CreatedAt <= since)
                {
                    break;
                }

                foreach (var tweet in tweets)
                {
                    if (tweet.CreatedAt <= since)
                    {
                        break;
                    }
                    timeLineTweets.Add(tweet);
                }
                ;

                if (tweets.Any(t => t.CreatedAt <= since))
                {
                    break;
                }

                var maxId = tweets.Last().Id;
                tweets = _twitterClient.GetUserTimeline(long.Parse(account.SocialUser.OriginalId), maxNumberOfTweetsRetrieve, maxId);

                if (tweets.Count() == 1 && tweets.First().Id == maxId)
                {
                    break;
                }
            }
            return(timeLineTweets);
        }