private async void RefreshTimeLine(TwitterList matches, StatusType type) { if (SuspensionManager.SessionState.ContainsKey("Authorizer")) { _auth = SuspensionManager.SessionState["Authorizer"] as PinAuthorizer; } if (_auth != null) { try { using (var twitterCtx = new TwitterContext(_auth)) { var timelineResponse = (from tweet in twitterCtx.Status where tweet.Type == type && tweet.ScreenName == LoggedInUser.Title select tweet) .ToList(); IEnumerable<TweetItem> tweets = (from tweet in timelineResponse select new TweetItem(tweet.StatusID, tweet.User.Name, tweet.User.Identifier.ScreenName, tweet.User.ProfileImageUrl, tweet.Text, tweet.Text, matches) ); if (tweets.Count<TweetItem>() > 0) { IEnumerable<TweetItem> results = matches.Items.Union<TweetItem>(tweets, new UniqueIdCompararer()).OrderByDescending <TweetItem, string> (k => k.UniqueId); matches.Items.Clear(); foreach (var item in results) { matches.Items.Add(item); } } } await CreateCollage(); } catch (LitJson.JsonException je) { //TODO: Log the Json Exception and move on. } } }
private void InitGroups() { if (SuspensionManager.SessionState.ContainsKey("Authorizer")) { _auth = SuspensionManager.SessionState["Authorizer"] as PinAuthorizer; if (_auth != null) { using (var twitterCtx = new TwitterContext(_auth)) { string screenName = twitterCtx.AuthorizedClient.ScreenName; var users = (from usr in twitterCtx.User where usr.Type == UserType.Lookup && usr.ScreenName == screenName select usr).ToList(); this.LoggedInUser = new TweetItem(users[0].ID, users[0].Name, users[0].ScreenName, users[0].ProfileImageUrl, "", "", null); TwitterList timeline = new TwitterList("timeline", "Timeline", "Your Tweet Stream", null, users[0].Status.Text); this._allGroups.Add(timeline); TwitterList atMentions = new TwitterList("atMentions", "@ Connect", "Your @ Mentions", null, users[0].Status.Text); this._allGroups.Add(atMentions); } } } else if (!SuspensionManager.SessionState.ContainsKey("Authorizer")) { LocalDataCredentials cred = new LocalDataCredentials(); if (cred.ToString() != ",,,,,") { SuspensionManager.SessionState["SavedAuthorizer"] = cred; try { PinAuthorizer auth = new PinAuthorizer { Credentials = (LocalDataCredentials)SuspensionManager.SessionState["SavedAuthorizer"], UseCompression = true }; SuspensionManager.SessionState["Authorizer"] = auth; auth.ScreenName = cred.ScreenName; auth.UserId = cred.UserId; } catch (Exception ex) { ((LocalDataCredentials)SuspensionManager.SessionState["SavedAuthorizer"]).Clear(); } } } }