public async Task <int> AddArticlesToArticlesTableAsync(Article articleToAdd) { var context = new KnowledgeHubDataBaseContext(); //context.ChangeTracker.AutoDetectChangesEnabled = false; try { Article articleExists = context.Article.FirstOrDefault(article => article.Url == articleToAdd.Url); if (articleExists == null) { Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry <Article> article = context.Article.Add(articleToAdd); await context.SaveChangesAsync(); return(article.Entity.Id); } return(articleExists.Id); } catch (Exception ex) { var fallback = context.Article.FirstOrDefault(article => article.Url == articleToAdd.Url); if (fallback != null) { return(fallback.Id); } return(0); } }
public async Task <IEnumerable <NewsApiResponse> > GetNewsApiArticles(string searchTerm, int tagId) { try { var context = new KnowledgeHubDataBaseContext(); var userArticleList = context.UserArticle.Where(userArticle => userArticle.TagId == tagId).ToList(); DateTime startDate = (userArticleList.Count > 0) ? userArticleList.Max(u => u.CreatedDate) : DateTime.Now.AddDays(-30); string apiKey = _configuration.GetValue <string>("NewsApiKey"); string newsApiURI = _configuration.GetValue <string>("NewsApiURI"); string url = newsApiURI + "qInTitle=" + searchTerm + "&language=en&from=" + startDate + "&sortBy=publishedAt&apiKey=" + apiKey; HttpResponseMessage httpResponseMessage = await Task <HttpResponseMessage> .FromResult(client.GetAsync(url).Result); if (httpResponseMessage.IsSuccessStatusCode) { var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result; List <NewsApiResponse> response = JsonConvert.DeserializeObject <NewsAPIRootJson>(responseContent).Articles.ToList(); return(response); } return(new List <NewsApiResponse>()); } catch (Exception ex) { return(null); } }
public async Task AddArticlesToUserTableAsync(UserArticle userArticle, int tagId, int userId) { var context = new KnowledgeHubDataBaseContext(); //context.ChangeTracker.AutoDetectChangesEnabled = false; try { userArticle.TagId = context.UserTag.FirstOrDefault(t => t.UserId == userId && t.TagId == tagId).Id; context.UserArticle.Add(userArticle); await context.SaveChangesAsync(); } catch (Exception ex) { return; } }
public UserArticleAccessor(KnowledgeHubDataBaseContext knowledgeHubDataBaseContext) { this.knowledgeHubDataBaseContext = knowledgeHubDataBaseContext; }
public TagAccessor(KnowledgeHubDataBaseContext knowledgeHubDataBaseContext) { this.knowledgeHubDataBaseContext = knowledgeHubDataBaseContext; }
public CategoryAccessor(KnowledgeHubDataBaseContext knowledgeHubDataBaseContext) { this.knowledgeHubDataBaseContext = knowledgeHubDataBaseContext; }
public ArticleAccessor(IConfiguration configuration, KnowledgeHubDataBaseContext knowledgeHubDataBaseContext) { _configuration = configuration; _knowledgeHubDataBaseContext = knowledgeHubDataBaseContext; }