Esempio n. 1
0
        private static void FillRSSData(List <Article> dataList, string url, CategoryEnums cat)
        {
            try
            {
                XmlReader       reader = XmlReader.Create(url);
                SyndicationFeed feed   = SyndicationFeed.Load(reader);
                reader.Close();
                foreach (SyndicationItem item in feed.Items)
                {
                    Article d = new Article();
                    d.Oid           = Guid.NewGuid();
                    d.Header        = item.Title.Text;
                    d.Content       = item.Summary.Text;
                    d.PublishedDate = item.PublishDate.DateTime;
                    d.Url           = item.Id;
                    d.Generator     = feed.Title.Text;
                    d.Category      = cat;
                    dataList.Add(d);

                    string link = MakeLink(d.Content);

                    if (!string.IsNullOrEmpty(link) && (link.EndsWith(".png") || link.EndsWith(".jpg") || link.EndsWith(".jpeg")))
                    {
                        d.Photo = link;
                    }

                    if (string.IsNullOrEmpty(d.Photo))
                    {
                        foreach (SyndicationElementExtension extension in item.ElementExtensions)
                        {
                            XElement ele = extension.GetObject <XElement>();
                            if (!string.IsNullOrEmpty(ele.ToString()))
                            {
                                link = MakeLink(ele.ToString());
                                if (!string.IsNullOrEmpty(link) && (link.EndsWith(".png") || link.EndsWith(".jpg") || link.EndsWith(".jpeg")))
                                {
                                    d.Photo = link;
                                    break;
                                }
                            }
                        }
                    }

                    if (item.Content != null)
                    {
                        TextSyndicationContent tsc = (TextSyndicationContent)item.Content;
                        if (!string.IsNullOrEmpty(tsc.Text) && string.IsNullOrEmpty(d.Photo))
                        {
                            link    = MakeLink(tsc.Text);
                            d.Photo = link;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error URL---->" + url);
            }
        }
Esempio n. 2
0
        public static async Task <List <Article> > GetArticleListByCategory(CategoryEnums e)
        {
            var httpResponse = await Get("Data/GetArticleListByCategory?category=" + e);

            var l = JsonConvert.DeserializeObject <List <Article> >(httpResponse);

            return(l.ToList());
        }
Esempio n. 3
0
        private static List <Article> GetAndSaveData(List <string> rssList, CategoryEnums cat)
        {
            List <Article> dataList = new List <Article>();

            foreach (var url in rssList)
            {
                FillRSSData(dataList, url, cat);
            }

            Service s = new Service();

            s.SaveDataList(dataList);
            return(dataList);
        }
Esempio n. 4
0
 public List <Article> GetArticleListByCategory(CategoryEnums e)
 {
     try
     {
         Sql cmd = new Sql(@"select top 250 * from Article a where a.Category = @0
                             order by a.PublishedDate desc", e);
         var k   = Db.Fetch <Article>(cmd);
         return(k);
     }
     catch (Exception ex)
     {
         return(null);
         //TODO:
     }
 }
Esempio n. 5
0
        public IEnumerable <Article> GetArticleListByCategory(CategoryEnums category)
        {
            var a = da.GetArticleListByCategory(category);

            return(a);
        }