/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="offset"></param> /// <param name="count"></param> /// <returns></returns> public TSearchResultCollection SearchTwitter(String query, int offset, int limit) { TSearchResultCollection resultCollection = new TSearchResultCollection(); resultCollection.Items = new List <TSearchResult>(); xsd.feed feed = this.ProcessRequest(query, offset, limit); xsd.feedLink feedlinkAltSearch = (xsd.feedLink)Array.Find(feed.Items, fd => (fd is xsd.feedLink) && ((xsd.feedLink)fd).rel.Equals("alternate", StringComparison.InvariantCultureIgnoreCase)); if (feedlinkAltSearch != null) { resultCollection.AlternateSearch = feedlinkAltSearch.href; } Object[] feedentries = Array.FindAll(feed.Items, fd => (fd is xsd.feedEntry)); foreach (Object entryObj in feedentries) { xsd.feedEntry entry = (xsd.feedEntry)entryObj; TSearchResult res = new TSearchResult(); xsd.feedEntryAuthor author = (xsd.feedEntryAuthor)Array.Find(entry.Items, en => (en is xsd.feedEntryAuthor)); if (author != null) { res.AuthorName = author.name; res.AuthorProfileLink = author.uri; } int index = Array.FindIndex(entry.ItemsElementName, enn => (enn == xsd.ItemsChoiceType.published)); if (index != -1) { res.PublishedDate = (DateTime)entry.Items[index]; } index = Array.FindIndex(entry.ItemsElementName, enn => (enn == xsd.ItemsChoiceType.updated)); if (index != -1) { res.UpdatedDate = (DateTime)entry.Items[index]; } xsd.feedEntryLink tweet = (xsd.feedEntryLink)Array.Find(entry.Items, en => (en is xsd.feedEntryLink && ((xsd.feedEntryLink)en).rel.Equals("alternate", StringComparison.InvariantCultureIgnoreCase))); if (tweet != null) { res.TweetLink = tweet.href; } xsd.feedEntryLink image = (xsd.feedEntryLink)Array.Find(entry.Items, en => (en is xsd.feedEntryLink && ((xsd.feedEntryLink)en).rel.Equals("image", StringComparison.InvariantCultureIgnoreCase))); if (image != null) { res.ProfileImageLink = image.href; } xsd.feedEntryContent content = (xsd.feedEntryContent)Array.Find(entry.Items, en => (en is xsd.feedEntryContent)); if (content != null) { res.Content = content.Value; } resultCollection.Items.Add(res); } return(resultCollection); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="offset"></param> /// <param name="count"></param> /// <returns></returns> public TSearchResultCollection SearchTwitter(String query, int offset, int limit) { TSearchResultCollection resultCollection = new TSearchResultCollection(); resultCollection.Items = new List<TSearchResult>(); xsd.feed feed = this.ProcessRequest(query, offset, limit); xsd.feedLink feedlinkAltSearch = (xsd.feedLink)Array.Find(feed.Items, fd => (fd is xsd.feedLink) && ((xsd.feedLink)fd).rel.Equals("alternate", StringComparison.InvariantCultureIgnoreCase)); if (feedlinkAltSearch != null) resultCollection.AlternateSearch = feedlinkAltSearch.href; Object[] feedentries = Array.FindAll(feed.Items, fd => (fd is xsd.feedEntry)); foreach (Object entryObj in feedentries) { xsd.feedEntry entry = (xsd.feedEntry)entryObj; TSearchResult res = new TSearchResult(); xsd.feedEntryAuthor author = (xsd.feedEntryAuthor)Array.Find(entry.Items, en => (en is xsd.feedEntryAuthor)); if (author != null) { res.AuthorName = author.name; res.AuthorProfileLink = author.uri; } int index = Array.FindIndex(entry.ItemsElementName, enn => (enn == xsd.ItemsChoiceType.published)); if(index != -1) res.PublishedDate = (DateTime)entry.Items[index]; index = Array.FindIndex(entry.ItemsElementName, enn => (enn == xsd.ItemsChoiceType.updated)); if (index != -1) res.UpdatedDate = (DateTime)entry.Items[index]; xsd.feedEntryLink tweet = (xsd.feedEntryLink)Array.Find(entry.Items, en => (en is xsd.feedEntryLink && ((xsd.feedEntryLink)en).rel.Equals("alternate", StringComparison.InvariantCultureIgnoreCase))); if (tweet != null) res.TweetLink = tweet.href; xsd.feedEntryLink image = (xsd.feedEntryLink)Array.Find(entry.Items, en => (en is xsd.feedEntryLink && ((xsd.feedEntryLink)en).rel.Equals("image", StringComparison.InvariantCultureIgnoreCase))); if (image != null) res.ProfileImageLink = image.href; xsd.feedEntryContent content = (xsd.feedEntryContent)Array.Find(entry.Items, en => (en is xsd.feedEntryContent)); if (content != null) res.Content = content.Value; resultCollection.Items.Add(res); } return resultCollection; }