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); }
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); }
public Article CreateArticleFromRSSItem(Rssfeeds foundFeed, SyndicationItem articleItem, bool isDuplicate = false) { var newArticleLinke = new Article(); string articleTitle = articleItem.Title.Text; articleTitle = articleTitle.Replace("‘", ""); articleTitle = articleTitle.Replace("’", ""); articleTitle = articleTitle.Replace("'", ""); articleTitle = articleTitle.Replace("’", ""); 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); }
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); }
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()); }
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)); }
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); }