Exemplo n.º 1
0
        private T DeserializeTrends <T>(string content)
        {
            var instance = JObject.Parse(content);
            var inner    = instance["trends"];

            if (inner != null)
            {
                var result = new TwitterTrends {
                    RawSource = content
                };

                var asOf = instance["as_of"] != null ? instance["as_of"].ToString() : "0";
                result.AsOf = Convert.ToInt64(asOf).FromUnixTime();

                var dateBuckets = inner.Children();

                foreach (var dateBucket in dateBuckets.OfType <JProperty>())
                {
                    var date  = dateBucket.Name;
                    var value = dateBucket.Value.ToString();

                    var trends = DeserializeCollection <IEnumerable <TwitterTrend> >(value);
                    foreach (var trend in trends)
                    {
                        trend.TrendingAsOf = Convert.ToDateTime(date);
                    }

                    result.Trends.AddRange(trends);
                }

                return((T)(IEnumerable)result);
            }

            return(DeserializeSingle <T>(content));
        }
Exemplo n.º 2
0
 List <TrendingTopic> ParseFromTwitterTrends(TwitterTrends trends, string countryName)
 {
     return(trends
            .Select(i => new TrendingTopic
     {
         Text = i.Name,
         Date = DateTime.UtcNow,
         IsPromoted = i.PromotedContent == "true" ? true : false,
         Country = countryName,
     })
            .ToList());
 }