public async Task <IActionResult> Create(ArticleFormObject formObject) { var article = new Models.Article { Slug = sanitizer.Sanitize(formObject.Slug), Title = sanitizer.Sanitize(formObject.Title), Description = sanitizer.Sanitize(formObject.Description), ThumbnailUrl = sanitizer.Sanitize(formObject.ThumbnailUrl) }; var index = 0; foreach (var chapter in formObject.ArticleChapters) { article.ArticleChapters.Add(new ArticleChapter { Name = sanitizer.Sanitize(chapter.LinkText), Text = sanitizer.Sanitize(chapter.Text), ChapterNumber = ++index }); } await context.AddAsync(article); await context.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Update(int articleId, ArticleFormObject formObject) { var article = await context.Articles.Include(a => a.ArticleChapters).FirstOrDefaultAsync(a => a.Id == articleId); article.Slug = sanitizer.Sanitize(formObject.Slug); article.Title = sanitizer.Sanitize(formObject.Title); article.Description = sanitizer.Sanitize(formObject.Description); article.ThumbnailUrl = sanitizer.Sanitize(formObject.ThumbnailUrl); article.ArticleChapters.Clear(); var index = 0; foreach (var chapter in formObject.ArticleChapters) { article.ArticleChapters.Add(new Models.ArticleChapter { Name = sanitizer.Sanitize(chapter.LinkText), Text = chapter.Text, ChapterNumber = ++index }); } await context.SaveChangesAsync(); return(RedirectToAction("Index")); }