Пример #1
0
        public IEnumerable <NewsListItem> Parse(HtmlDocument htmlDocument)
        {
            var htmlNode     = htmlDocument.GetElementbyId("archiwum_1");
            var articleNodes = htmlNode.SelectNodes("article");
            var items        = new List <NewsListItem>();

            foreach (var node in articleNodes)
            {
                var title           = node.SelectSingleNode("h1").InnerText;
                var publicationDate = node.SelectSingleNode("div[@class='meta']/h2").LastChild.InnerText;
                var detailsLink     = node.SelectSingleNode("a").GetAttributeValue("href", "");
                var summary         = HtmlEntity.DeEntitize(node.SelectSingleNode("p").InnerText);
                var thumbnailLink   = node
                                      .SelectSingleNode("div[contains(@class, 'thumb_gallery')]")
                                      ?.SelectSingleNode("ul[@class='slides']/li[1]/img")
                                      ?.GetAttributeValue("src", "");

                var item = new NewsListItem
                {
                    Title           = title,
                    PublicationDate = publicationDate,
                    DetailsLink     = detailsLink,
                    Summary         = summary,
                    Thumbnail       = thumbnailLink,
                };
                items.Add(item);
            }
            return(items);
        }
Пример #2
0
 private void ShouldHaveCorrectTextFields(NewsListItem actual, NewsListItem expected)
 {
     actual.Title.Should().Be(expected.Title);
     actual.Summary.Should().StartWith(expected.Summary);
     actual.PublicationDate.Should().Be(expected.PublicationDate);
     actual.DetailsLink.Should().Be(expected.DetailsLink);
 }
Пример #3
0
        public ItemDetailViewModel(NewsListItem item, IDataStore <NewsListItem> dataStore) : base(dataStore)
        {
            Title = item.Title;
            Item  = item;
            var images = new List <string>();

            if (!item.Thumbnail.IsNullOrEmpty())
            {
                images.Add(item.Thumbnail);
                images.Add(item.Thumbnail);
            }
            Images = images;
        }
Пример #4
0
        public void ReturnElementsWithCorrectTextData()
        {
            var expected = new NewsListItem
            {
                Title           = "Początek sezonu z mocnym brzmieniem",
                Summary         = "Za nami pierwszy koncert",
                DetailsLink     = "http://www.kurierbytowski.com.pl/kurier/aktualnosci/poczatek-sezonu-mocnym-brzmieniem/",
                PublicationDate = "19/09/2017"
            };

            var actual = _sut.Parse(_htmlDocument).First();

            ShouldHaveCorrectTextFields(actual, expected);
        }
Пример #5
0
 public Task AddNewListItems(libNewsBlog.RootObject rootObject)
 {
     //_connection.Dispose();
     //var a = rootObject.items.Count;
     _connection.DeleteAll <NewsListItem>();
     foreach (var i in rootObject.items)
     {
         var Newitem = new NewsListItem(i);
         {
             if (!_connection.Table <NewsListItem>().Any(x => x.id == Newitem.id))
             {
                 _connection.Insert(Newitem);
             }
             else
             {
                 _connection.Update(Newitem);
             }
         }
     }
     return(Task.Run(() => rootObject));
 }
Пример #6
0
        //HttpClient client;
        //public OnlineDataNews()
        //{

        //}
        public async Task <IEnumerable <NewsListItem> > GetNewsAsync()
        {
            //var client = new HttpClient();
            //var NewsString = await client.GetStringAsync(NewsApiUrls.Base);
            //NewsString = NewsString.Substring(NewsString.IndexOf("[", System.StringComparison.CurrentCulture));
            //NewsString = NewsString.Substring(0, NewsString.LastIndexOf("]", System.StringComparison.CurrentCulture) + 1);
            //NewsTable = JsonConvert.DeserializeObject<List<NewsListItem>>(NewsString);
            if (!initialized)
            {
                Init();
            }
            List <NewsListItem> newlists = new List <NewsListItem>();

            try
            {
                // create a file, overwriting any existing fileMySubFolder
                IFolder folder = await rootFolder.CreateFolderAsync("Library", CreationCollisionOption.OpenIfExists);

                IFile Newsfile = await folder.CreateFileAsync("News.json", CreationCollisionOption.OpenIfExists);

                var json = await Newsfile.ReadAllTextAsync();

                //populate the file with some text
                googleNews = JsonConvert.DeserializeObject <libNewsBlog.RootObject>(json);


                foreach (var item in googleNews.items)
                {
                    NewsListItem newslist = new NewsListItem(item);
                    newlists.Add(newslist);
                }
            }
            catch (Exception)
            {
            }
            //await SyncNewsAsync();
            return(await Task.Run(() => newlists));

            //sqlite.GetNewListItems());
        }
 public ItemDetailViewModel Create(NewsListItem item)
 {
     return new ItemDetailViewModel(item, _dataStore);
 }
Пример #8
0
 public void AddNewListItem(NewsListItem item)
 {
     _connection.Insert(item);
 }