public IActionResult AddArticle(ArticleDTO model) { int memberID = int.Parse(HttpContext.Request.Cookies["ID"]); Article article = new Article(); List <ArticleTopics> articleTopics = new List <ArticleTopics>(); if (model.ID > 0) { article = _articleRepository.GetArticleWithTopics(a => a.ID == model.ID); article.ArticleTopics.ToList().ForEach(result => articleTopics.Add(result)); _articleRepository.RemoveTopics(articleTopics); article.Title = model.Title; article.Content = model.Content; article.MemberID = memberID; article.ModifiedDate = DateTime.Now; article.Image = ConvertFile(model.Image); if (model.TopicIDs.Count > 0) { articleTopics = new List <ArticleTopics>(); foreach (var item in model.TopicIDs) { articleTopics.Add(new ArticleTopics { TopicID = item, ArticleID = model.ID }); } _articleRepository.AddTopics(article, articleTopics); } } else { article.Title = model.Title; article.Content = model.Content; article.Image = ConvertFile(model.Image); article.MemberID = memberID; if (model.TopicIDs.Count > 0) { foreach (var item in model.TopicIDs) { articleTopics.Add(new ArticleTopics { TopicID = item, ArticleID = model.ID }); } article.ArticleTopics = articleTopics; } _articleRepository.Add(article); } return(RedirectToAction(nameof(List))); }