Exemplo n.º 1
0
        public TweetStatistics GetTweetStatistics()
        {
            int numberOfTopItems = 5;// for test - you set it as a config

            if (!_tweetAnalyticsData.ContainsKey(_tweetSummaryKey))
            {
                return(new TweetStatistics());
            }

            var tweetAnalytics  = _tweetAnalyticsData[_tweetSummaryKey];
            var tweetStatistics = new TweetStatistics()
            {
                TotalTweetsRecieved = tweetAnalytics.TotalTweetsRecieved,

                AverageTweetsPerHour   = tweetAnalytics.GetTotalTweetsPerTimeInterval(TimeInterval.Hours),
                AverageTweetsPerMinute = tweetAnalytics.GetTotalTweetsPerTimeInterval(TimeInterval.Minutes),
                AverageTweetsPerSecond = tweetAnalytics.GetTotalTweetsPerTimeInterval(TimeInterval.Seconds),


                PercentageOfTweetsWithPhoto  = tweetAnalytics.GetPercentageOfTweetsWithContentType(ContentType.Photo),
                PercentageOfTweetsWithUrl    = tweetAnalytics.GetPercentageOfTweetsWithContentType(ContentType.Url),
                PercentageOfTweetsWithEmojis = tweetAnalytics.GetPercentageOfTweetsWithContentType(ContentType.Emoji),

                TopUrDomains = _urlData.OrderByDescending(x => x.Value).ThenBy(x => x.Key).Take(numberOfTopItems).Select(x => new NoOfUses <string> {
                    Item = x.Key, Uses = x.Value
                }),
                TopHashTags = _hastTagData.OrderByDescending(x => x.Value).ThenBy(x => x.Key).Take(numberOfTopItems).Select(x => new NoOfUses <string> {
                    Item = x.Key, Uses = x.Value
                }),
                TopEmojis = _emjoiData.OrderByDescending(x => x.Value).ThenBy(x => x.Key).Take(numberOfTopItems).Select(x => new NoOfUses <string> {
                    Item = x.Key, Uses = x.Value
                }),
            };

            return(tweetStatistics);
        }
Exemplo n.º 2
0
        public ActionResult GetTweetStatistics()
        {
            TweetStatistics statistics = _twitterService.GetTweetStatistics();

            return(Ok(statistics));
        }