コード例 #1
0
ファイル: PostCollection.cs プロジェクト: Yevrag35/RedditFeed
 public Task <List <Post> > ReloadFeed(Uri url, PostRange range)
 {
     return(Task.Run(() =>
     {
         JObject feedJob = privateGetFeed(url, range, out Uri feedUrl);
         List <Post> posts = null;
         if (feedJob != null)
         {
             this.FeedUrl = feedUrl;
             posts = feedJob.SelectToken("$.feed.entry").ToObject <List <Post> >(DefaultSerializer);
         }
         return posts;
     }));
 }
コード例 #2
0
ファイル: PostCollection.cs プロジェクト: Yevrag35/RedditFeed
        private static JObject privateGetFeed(Uri url, PostRange range, out Uri feedUrl)
        {
            UriBuilder builder = new UriBuilder(url)
            {
                Query = string.Format("?t={0}", range.ToString().ToLower())
            };

            feedUrl = builder.Uri;

            var xml = new XmlDocument();

            xml.Load(feedUrl.AbsoluteUri);

            return(JObject.Parse(JsonConvert.SerializeXmlNode(xml)));
        }
コード例 #3
0
ファイル: PostCollection.cs プロジェクト: Yevrag35/RedditFeed
        public static PostCollection LoadFeed(Uri url, PostRange range)
        {
            JObject feedJob = privateGetFeed(url, range, out Uri feedUrl);

            if (feedJob != null)
            {
                var pCol = new PostCollection(feedJob.SelectToken("$.feed.entry").ToObject <List <Post> >(DefaultSerializer))
                {
                    FeedUrl = feedUrl
                };
                return(pCol);
            }
            else
            {
                return(null);
            }
        }