Smrf.NodeXL.GraphMLLib.TwitterSearchNetworkGraphMLUtil.GetMentionsAndRepliesToScreenNames C# (CSharp) Method

GetMentionsAndRepliesToScreenNames() public static method

public static GetMentionsAndRepliesToScreenNames ( TwitterUser>.Dictionary userIDDictionary ) : String[]
userIDDictionary TwitterUser>.Dictionary
return String[]
    GetMentionsAndRepliesToScreenNames
    (
        Dictionary<String, TwitterUser> userIDDictionary
    )
    {
        Debug.Assert(userIDDictionary != null);

        HashSet<String> uniqueScreenNamesWhoTweetedSearchTerm =
            TwitterGraphMLUtil.TwitterUsersToUniqueScreenNames(
                userIDDictionary.Values);

        HashSet<String> uniqueMentionsAndRepliesToScreenNames =
            new HashSet<String>();

        TwitterStatusTextParser twitterStatusTextParser =
            new TwitterStatusTextParser();

        foreach (TwitterUser twitterUser in userIDDictionary.Values)
        {
            foreach (TwitterStatus twitterStatus in twitterUser.Statuses)
            {
                String repliesToScreenName;
                String [] uniqueMentionsScreenNames;

                twitterStatusTextParser.GetScreenNames(twitterStatus.Text,
                    out repliesToScreenName,
                    out uniqueMentionsScreenNames);

                if (
                    repliesToScreenName != null
                    &&
                    !uniqueScreenNamesWhoTweetedSearchTerm.Contains(
                        repliesToScreenName) )
                {
                    uniqueMentionsAndRepliesToScreenNames.Add(
                        repliesToScreenName);
                }

                foreach (String uniqueMentionsScreenName in
                    uniqueMentionsScreenNames)
                {
                    if ( !uniqueScreenNamesWhoTweetedSearchTerm.Contains(
                        uniqueMentionsScreenName) )
                    {
                        uniqueMentionsAndRepliesToScreenNames.Add(
                            uniqueMentionsScreenName);
                    }
                }
            }
        }

        return ( uniqueMentionsAndRepliesToScreenNames.ToArray() );
    }