public void ProcessTweet(TweetDto tweet) { if (tweet == null) { return; } var tweetDetails = new TweetDetails(); var tweetMedia = tweet?.Includes?.Media; if (tweetMedia != null) { tweetDetails.HasPhoto = tweetMedia.Any(x => x.Type == TweetMediaTypes.Photo); } var tweetEntities = tweet?.Data?.Entities; if (tweetEntities != null) { if (tweetEntities?.HashTags != null) { tweetDetails.HasHashTag = tweetEntities.HashTags.Any(); if (tweetDetails.HasHashTag) { _twitterDatabase.UpdateHashTagCount(tweetEntities.HashTags.Select(x => x.Tag)); } } if (tweetEntities?.Urls != null) { var urls = tweetEntities.Urls.Where(x => x.ExpandedUri != null); tweetDetails.HasUrl = tweetEntities.Urls.Any(); if (tweetDetails.HasUrl) { _twitterDatabase.UpdateUrlCount(urls.Select(x => x.ExpandedUri)); } } } var tweetText = tweet?.Data?.Text; if (!string.IsNullOrEmpty(tweetText)) { var emojis = _emojiService.GetEmojisFromText(tweetText); tweetDetails.HasEmoji = emojis.Any(); if (tweetDetails.HasEmoji) { _twitterDatabase.UpdateEmojiCount(emojis); } } _twitterDatabase.AddTweetAnalytics(tweetDetails); #if DEBUG Console.WriteLine(tweet?.Data?.Text); #endif }
private void SetTweetPerUser(IList <string> tweets) { var index = 0; while (index < tweets.Count) { TweetDetails.Add(new TweetDetail() { User = tweets[index].Trim(), TweetMessage = tweets[index + 1] }); index += 2; } }
public void AddTweetAnalytics(TweetDetails tweetDetails) { _tweetAnalyticsData.AddOrUpdate(_tweetSummaryKey, new TweetAnalytics(tweetDetails), (key, currentValue) => currentValue.UpdateAnalytics(tweetDetails)); }