public async Task <IActionResult> Delete(string id)
        {
            var userToRemove = await _accountUnitOfWork.Users.GetById(id);

            var authorized = await _securityFacade.IsAuthorized(userToRemove, BlogConstants.DeleteActionName);

            if (authorized)
            {
                await _accountUnitOfWork.Users.Delete(userToRemove);

                return(RedirectToAction("Index"));
            }

            return(RedirectToReferer());
        }
        public async Task <IActionResult> ModifyBlogData(BlogData blogData)
        {
            var authorized = await _securityFacade.IsAuthorized(_blogData, BlogConstants.ModifyActionName);

            if (authorized)
            {
                _blogData.SaveData(blogData);
            }

            return(RedirectToAction("Index"));
        }
Example #3
0
        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"));
        }