// Gets Twitter Feed from azure database public static ICollection<StatusTweet> GetTweetsOnlyFeedFromDB(string twitterAccountToDisplay) { var stList = new List<StatusTweet>(); try { using (var dbContext = new OnlyTweetContext()) { dbContext.Database.Connection.Open(); //Get top 20 Status Tweets from the database var query = (from t in dbContext.OnlyTweetDB where t.ScreenName == twitterAccountToDisplay orderby t.CreatedAt descending select t).Take(20); //Console.WriteLine("All Status Tweet in the database:"); foreach (var item in query) { var st = new StatusTweet(); //Console.WriteLine("{0}:\n{1}\n\t{2}\n\t{3}\n\", item.StatusID, item.ScreenName, item.Text, item.CreatedAt); st.Text = item.Text; st.CreatedAt = item.CreatedAt; st.StatusID = item.StatusID; st.ScreenName = item.ScreenName; st.StringStatusID = item.StatusID.ToString(); switch (item.ScreenName) { case "Linq2Twitr": //Sample Username: https://twitter.com/Linq2Twitr st.ProfileImageUrlHttps = "https://pbs.twimg.com/profile_images/378800000625948439/57f4351535721aeedc632745ceaacfea_400x400.png"; break; default: st.ProfileImageUrlHttps = ""; break; } stList.Add(st); } } } catch (Exception ex) { string innerMessage = (ex.InnerException != null) ? ex.InnerException.Message : String.Empty; //Console.WriteLine("{0}\n{1}", ex.Message, innerMessage); } return stList.ToList(); }
public static List<Tweet> GetFromAPI() { ulong sinceID = 83407830496968704; List<Tweet> statusList = new List<Tweet>(); var twitterCtx = new TwitterContext(auth); ulong maxID; const int Count = 6000; var userStatusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == Settings.Instance.username && tweet.SinceID == sinceID && tweet.Count == Count && tweet.Retweeted == false select tweet) .ToList(); foreach (var item in userStatusResponse) { statusList.Add((Tweet)item); } // first tweet processed on current query maxID = userStatusResponse.Min( status => ulong.Parse(status.StatusID.ToString())) - 1; do { // now add sinceID and maxID userStatusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == Settings.Instance.username && tweet.Count == Count && tweet.SinceID == sinceID && tweet.MaxID == maxID && tweet.Retweeted == false select tweet) .ToList(); if (userStatusResponse.Count > 0) { // first tweet processed on current query maxID = userStatusResponse.Min( status => ulong.Parse(status.StatusID.ToString())) - 1; foreach (var item in userStatusResponse) { statusList.Add((Tweet)item); } } } while (userStatusResponse.Count != 0 && statusList.Count < Count); return statusList.ToList(); }