// GET: Member/NewsArticle
        public ActionResult Show(int id)
        {
            NewsArticleVM data = new NewsArticleVM();

            data.NewsArticle = _newsRepo.GetById(id);
            data.AppUser     = _appUserRepo.GetById(data.NewsArticle.AppUserId);

            data.Comments = _commentRepo.GetDefault(x => x.NewsArticleId == id && x.Status != Status.Passive);

            data.CommentCount = _commentRepo.GetDefault(x => x.NewsArticleId == id && x.Status != Status.Passive).Count;
            data.LikeCount    = _likeRepo.GetDefault(x => x.NewsArticleId == id && x.Status != Status.Passive).Count;
            return(View());
        }
Exemple #2
0
        } // ReadSourcesAsync

        public async Task <ICollection <NewsArticleVM> > ReadArticlesAsync(
            string source, string language)
        {
            string headlineURL = _configuration.GetValue <string>("TopHeadlinesURL");
            string apiKey      = _configuration.GetValue <string>("ApiKey");
            string url         = $"{headlineURL}" +
                                 $"sources={source.ToLower()}&" +
                                 $"language={language.ToLower()}&" +
                                 $"apiKey={apiKey}";
            var articles = new List <NewsArticleVM>();

            try
            {
                string json = await _client.GetStringAsync(url);

                JObject result = JObject.Parse(json);

                IList <JToken> results = result["articles"].ToList();
                foreach (JToken r in results)
                {
                    var article = new NewsArticleVM
                    {
                        AuthorName  = r["author"].ToString(),
                        Title       = r["title"].ToString(),
                        Description = r["description"].ToString(),
                        Url         = r["url"].ToString(),
                        UrlToImage  = r["urlToImage"].ToString(),
                        PublishedAt = DateTimeOffset.Parse(r["publishedAt"].ToString())
                    };
                    articles.Add(article);
                }
            }
            catch (HttpRequestException)
            {
            }
            return(articles);
        } // ReadSourcesAsync