diff --git a/Controllers/NewsController.cs b/Controllers/NewsController.cs index 71025789c443d49e41fb6026c4852fa797fe1ec6..e8c0e910377955adf3d02e37929f98467ad1b67e 100644 --- a/Controllers/NewsController.cs +++ b/Controllers/NewsController.cs @@ -34,7 +34,7 @@ namespace News_site.Controllers { try { - List<Newspaper> newspapers = newsProvider.GetAll(); + List<ExtendNewspaper> newspapers = newsProvider.GetAll(); if (newspapers == null) { @@ -47,16 +47,7 @@ namespace News_site.Controllers return Ok(new { success = true, data = new { - collection = result.Select(news => new - { - news.Id, - news.Image, - news.Title, - news.Categorylink, - news.CategorylinkNavigation, - news.Description, - news.CreatedAt - }).ToList(), + collection = result.ToList(), total = result.Count(), pagesize = sieveModel.PageSize, pageIndex = sieveModel.Page diff --git a/Provider/CrawlDataProvider.cs b/Provider/CrawlDataProvider.cs index a578aa236447842777e4c9573d846bd725b48923..a6ab7ab9634c1091597ea8ff500d629e16491146 100644 --- a/Provider/CrawlDataProvider.cs +++ b/Provider/CrawlDataProvider.cs @@ -66,8 +66,17 @@ namespace News_site.Provider string checkCategoryLinkElem = Regex.Match(newsData, @"<div class=""detail-cate(.*?)</a>", RegexOptions.Singleline).Value; string checkCategoryLink = Regex.Match(checkCategoryLinkElem, @"href=""(.*?)""", RegexOptions.Singleline).Value.Replace("href=\"", "").Replace("\"", ""); - bool isNewspaperCrawled = await db.Newspapers.AnyAsync(news => news.Title.Equals(newsTitle)); - bool isCategoryExisted = await db.Categories.AnyAsync(category => category.Link.Equals(checkCategoryLink)); + var allNews = await db.Newspapers.Select(news => new + { + news.Title + }).AsNoTracking().ToListAsync(); + var allCagegories = await db.Categories.Select(category => new + { + category.Link + }).AsNoTracking().ToListAsync(); + + bool isNewspaperCrawled = allNews.Any(news => news.Title.Equals(newsTitle)); + bool isCategoryExisted = allCagegories.Any(category => category.Link.Equals(checkCategoryLink)); if (!isNewspaperCrawled && isCategoryExisted) { diff --git a/Provider/NewsProvider.cs b/Provider/NewsProvider.cs index 93192c418f895e09c97dbaa4e5292b61c88e04bc..2944a0608bd502ca9094281a94fa9baa33f0c483 100644 --- a/Provider/NewsProvider.cs +++ b/Provider/NewsProvider.cs @@ -10,9 +10,18 @@ namespace News_site.Provider { public class NewsProvider : BaseProvider { - public List<Newspaper> GetAll() + public List<ExtendNewspaper> GetAll() { - var news = db.Newspapers.Include(news => news.CategorylinkNavigation).ToList(); + var news = db.Newspapers.Include(news => news.CategorylinkNavigation).Select(news => new ExtendNewspaper + { + Id = news.Id, + Image = news.Image, + Title = news.Title, + Categorylink = news.Categorylink, + CategorylinkNavigation = news.CategorylinkNavigation, + Description = news.Description, + CreatedAt = news.CreatedAt + }).ToList(); return news; }