public async Task <IActionResult> Modify(int id) { Post post = await _blogUnitOfWork.Posts.SearchFor(p => p.Id == id) .Include(p => p.PostTags) .ThenInclude(e => e.Tag) .FirstOrDefaultAsync(); PostTagNameViewModel postTagNameViewModel = new PostTagNameViewModel() { Post = post, TagNames = PostTagsToStringHelper(post.PostTags) }; return(View(postTagNameViewModel)); }
public async Task <IActionResult> Add(PostTagNameViewModel postTagNameViewModel) { Post post = postTagNameViewModel.Post; ApplicationUser author = await _securityFacade.GetCurrentUser(); post.PublicationDate = DateTime.Now; post.AuthorName = author.Name; post.AuthorUserId = author.Id; _blogUnitOfWork.Posts.Insert(post); AddTags(post, postTagNameViewModel.TagNames); await _blogUnitOfWork.SaveAsync(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Modify(PostTagNameViewModel postTagNameViewModel) { Post post = await _blogUnitOfWork.Posts.SearchFor(p => p.Id == postTagNameViewModel.Post.Id) .Include(p => p.PostTags) .ThenInclude(pt => pt.Tag) .SingleOrDefaultAsync(); var authorized = await _securityFacade.IsAuthorized(post, BlogConstants.ModifyActionName); if (authorized) { _blogUnitOfWork.PostTags.DeleteMany(post.PostTags); await _blogUnitOfWork.SaveAsync(); post.Title = postTagNameViewModel.Post.Title; post.Content = postTagNameViewModel.Post.Content; _blogUnitOfWork.Posts.Update(post); AddTags(post, postTagNameViewModel.TagNames); await _blogUnitOfWork.SaveAsync(); } return(RedirectToAction("Index")); }