public IActionResult Index(string id)
        {
            var News = new NewsViewModel();
            var dir  = @"/images/" + id.Replace(" ", "_") + @"/" + id.Replace(" ", "_");

            News.img1  = dir + "1.png";
            News.img2  = dir + "2.png";
            News.img3  = dir + "3.png";
            News.img4  = dir + "4.png";
            News.dt    = Convert.ToDateTime(System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\wwwroot\images\" + id.Replace(" ", "_") + @"\" + "date.txt"));
            News.coeff = System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\wwwroot\images\" + id.Replace(" ", "_") + @"\" + "res.txt");
            var news             = new List <PieceOfNews>();
            var newsApiClient    = new NewsApiClient("c4cdf6d372ae4e6badf36a0851ba882c");
            var articlesResponse = newsApiClient.GetEverything(new EverythingRequest
            {
                Q        = id.Replace(" ", "+"),
                SortBy   = SortBys.Relevancy,
                Language = Languages.EN,
                PageSize = 5,
            });

            if (articlesResponse.Status == Statuses.Ok)
            {
                foreach (var article in articlesResponse.Articles)
                {
                    var currentPoN = new PieceOfNews {
                        title       = article.Title,
                        author      = article.Author,
                        description = article.Description,
                        url         = article.Url,
                        publishedAt = article.PublishedAt,
                    };
                    news.Add(currentPoN);
                }
            }
            News.News = news;

            return(View(News));
        }
Ejemplo n.º 2
0
        public static NewsResponseModel ParseRSS(this rss model)
        {
            var result = new NewsResponseModel();

            foreach (var item in model.channel.Any)
            {
                switch (item.Name)
                {
                case "title":
                {
                    result.Title = item.InnerText;
                    break;
                }

                case "link":
                {
                    result.Link = item.InnerText;
                    break;
                }

                case "description":
                {
                    result.SourceDescription = item.InnerText;
                    break;
                }

                case "lastBuildDate":
                {
                    result.LastBuildDate = item.InnerText;
                    break;
                }

                case "item":
                {
                    var pieceOfNews = new PieceOfNews();

                    for (int i = 0; i < item.ChildNodes.Count; i++)
                    {
                        string value = item.ChildNodes[i].InnerText;

                        switch (item.ChildNodes[i].Name)
                        {
                        case "title":
                        {
                            pieceOfNews.Title = value;
                            break;
                        }

                        case "description":
                        {
                            pieceOfNews.Description = value;
                            break;
                        }

                        case "pubDate":
                        {
                            pieceOfNews.PublishDate = value;
                            break;
                        }

                        case "link":
                        {
                            pieceOfNews.Link = value;
                            break;
                        }
                        }
                    }

                    result.News.Add(pieceOfNews);

                    break;
                }
                }
            }

            return(result);
        }