private void SaveAuthInfo(TwitterAsyncResponse<UserIdentifier> completeResp)
 {
     auth.UserId = completeResp.State.UserID;
     auth.ScreenName = completeResp.State.ScreenName;
     SuspensionManager.SessionState["Authorizer"] = auth;
     LocalDataCredentials cred = new LocalDataCredentials
     {
         AccessToken = auth.Credentials.AccessToken,
         ConsumerKey = auth.Credentials.ConsumerKey,
         ConsumerSecret = auth.Credentials.ConsumerSecret,
         OAuthToken = auth.Credentials.OAuthToken,
         ScreenName = completeResp.State.ScreenName,
         UserId = completeResp.State.UserID
     };
     cred.Save();
     SuspensionManager.SessionState["SavedAuthorizer"] = auth;
 }
        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();
                    }
                }
            }
        }