Exemplo n.º 1
0
        public Article CreateArticleFromVideo(Rssfeeds foundFeed, SearchResult video)
        {
            var newArticleLinke = new Article();

            string videoTitle = video.Snippet.Title;

            videoTitle = videoTitle.Replace("'", "");
            videoTitle = videoTitle.Replace("&", "");

            newArticleLinke.ArticleTitle  = videoTitle;
            newArticleLinke.ArticleUrl    = video.Id.VideoId;
            newArticleLinke.DatePublished = video.Snippet.PublishedAt ?? DateTime.UtcNow;
            newArticleLinke.DateAdded     = DateTime.UtcNow;
            newArticleLinke.FeedId        = foundFeed.FeedId;
            newArticleLinke.Active        = true;
            newArticleLinke.ArticleType   = 2;

            using (DB_A41BC9_aml630Context db = new DB_A41BC9_aml630Context())
            {
                var isDupe = db.Article.Where(x => x.ArticleTitle == newArticleLinke.ArticleTitle || x.ArticleUrl == newArticleLinke.ArticleUrl).FirstOrDefault();

                if (isDupe != null)
                {
                    isDupe.ArticleTitle = "DupeVid--" + isDupe.ArticleTitle;
                    return(isDupe);
                }

                db.Article.Add(newArticleLinke);
                db.SaveChanges();
            }

            return(newArticleLinke);
        }
Exemplo n.º 2
0
        public List <Article> CheckNewsEntityForArticles(Rssfeeds feed)
        {
            var articleList = new List <Article>();

            SyndicationFeed syndyFeed;

            var r = XmlReader.Create(feed.FeedLink);

            try
            {
                syndyFeed = SyndicationFeed.Load(r);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            foreach (var articleItem in syndyFeed.Items)
            {
                Article newArticle = CreateArticleFromRSSItem(feed, articleItem);

                articleList.Add(newArticle);

                if (newArticle.ArticleTitle.StartsWith("DupeArt"))
                {
                    continue;
                }

                var wordLogLogic = new WordLogLogic();

                wordLogLogic.LogWordsUsed(newArticle);
            }

            return(articleList);
        }
Exemplo n.º 3
0
        public Article CreateArticleFromRSSItem(Rssfeeds foundFeed, SyndicationItem articleItem, bool isDuplicate = false)
        {
            var newArticleLinke = new Article();

            string articleTitle = articleItem.Title.Text;

            articleTitle = articleTitle.Replace("&#8216;", "");
            articleTitle = articleTitle.Replace("&#8217;", "");
            articleTitle = articleTitle.Replace("&apos;", "");
            articleTitle = articleTitle.Replace("&rsquo;", "");

            newArticleLinke.ArticleTitle  = articleTitle;
            newArticleLinke.ArticleUrl    = articleItem.Links[0].Uri.AbsoluteUri;
            newArticleLinke.DatePublished = articleItem.PublishDate.UtcDateTime;
            newArticleLinke.DateAdded     = DateTime.UtcNow;
            newArticleLinke.FeedId        = foundFeed.FeedId;
            newArticleLinke.Active        = true;
            newArticleLinke.ArticleType   = 1;

            using (DB_A41BC9_aml630Context db = new DB_A41BC9_aml630Context())
            {
                var isDupe = db.Article.Where(x => x.ArticleTitle == newArticleLinke.ArticleTitle).FirstOrDefault();

                if (isDupe != null)
                {
                    isDupe.ArticleTitle = "DupeArt--" + isDupe.ArticleTitle;
                    return(isDupe);
                }

                db.Article.Add(newArticleLinke);
                db.SaveChanges();
            }

            return(newArticleLinke);
        }
Exemplo n.º 4
0
        public List <Article> CheckNewsEntityForVideos(Rssfeeds feed)
        {
            var videoArticleList = new List <Article>();

            if (feed.VideoLink == null)
            {
                return(videoArticleList);
            }

            var videoList = GetVidsForNewsEntity(feed.VideoLink);

            var vidListResult = videoList.Where(x => x.Id.VideoId != null).ToList();

            var newArticleLogic = new ArticleLogic(Cache);

            foreach (var video in vidListResult)
            {
                var newVid = newArticleLogic.CreateArticleFromVideo(feed, video);

                videoArticleList.Add(newVid);

                if (newVid.ArticleTitle.StartsWith("DupeVid"))
                {
                    continue;
                }

                var wordLogLogic = new WordLogLogic();

                wordLogLogic.LogWordsUsed(newVid);
            }

            return(videoArticleList);
        }
Exemplo n.º 5
0
        public async Task <IActionResult> PutRssfeeds([FromRoute] int id, [FromBody] Rssfeeds rssfeeds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != rssfeeds.FeedId)
            {
                return(BadRequest());
            }

            rssfeeds.LastUpdated = DateTime.UtcNow;

            Context.Entry(rssfeeds).State = EntityState.Modified;

            try
            {
                await Context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RssfeedsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 6
0
        public async Task <IActionResult> PostRssfeeds([FromBody] Rssfeeds rssfeeds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            rssfeeds.LastUpdated = DateTime.UtcNow;
            rssfeeds.FeedId      = 0;

            try
            {
                Context.Rssfeeds.Add(rssfeeds);
                await Context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(CreatedAtAction("GetRssfeeds", new { id = rssfeeds.FeedId }, rssfeeds));
        }
Exemplo n.º 7
0
        public List <Article> GetAllResourcesFromFeed(Rssfeeds foundFeed)
        {
            List <Article> articleList = new List <Article>();

            if (!string.IsNullOrEmpty(foundFeed.FeedLink))
            {
                var articleLogic = new ArticleLogic(Cache);

                var feedArticles = articleLogic.CheckNewsEntityForArticles(foundFeed);

                articleList.AddRange(feedArticles);
            }

            if (!string.IsNullOrEmpty(foundFeed.VideoLink))
            {
                var newYouTubeLogic = new YouTubeLogic(Configuration, Cache);

                var vidList = newYouTubeLogic.CheckNewsEntityForVideos(foundFeed);

                articleList.AddRange(vidList);
            }

            return(articleList);
        }