Пример #1
0
        public IActionResult DeletePost(int id)
        {
            var result = _post.DeletePost(_post.GetPost(id));

            if (result)
            {
                _postTag.DeletePostTagList(o => o.PostId == id);
                return(Json(new BaseResponse {
                    Success = true, Message = "删除成功"
                }));
            }
            return(Json(new BaseResponse {
                Success = false, Message = "删除失败"
            }));
        }
Пример #2
0
        public async Task <IActionResult> EditAsync(PostEditViewModel model)
        {
            BlogUser user = await _userManager.GetUserAsync(HttpContext.User);

            var post = _mapper.Map <PostEditViewModel, Post>(model);

            post.UserId = user.Id;

            var tagList = new List <string>();

            // 添加标签至数据库
            if (!string.IsNullOrEmpty(model.TagString))
            {
                tagList = model.TagString.Split(',').ToList();
                foreach (var item in tagList)
                {
                    if (_tag.GetTag(o => o.TagName == item) == null)
                    {
                        _tag.AddTag(new Tag {
                            TagName = item, DateCreated = DateTime.Now
                        }, false);
                    }
                }
                await _unitOfWork.SaveChangesAsync();
            }

            // 添加文章至数据库库
            if (model.PostId.HasValue)
            {
                var postId = _post.UpdatePost(post);

                _postTag.DeletePostTagList(o => o.PostId == post.PostId);

                foreach (var item in tagList)
                {
                    _postTag.AddPostTag(new PostTag {
                        PostId = post.PostId, TagId = _tag.GetTag(o => o.TagName == item).TagId
                    }, false);
                }
            }
            else
            {
                var postId = _post.AddPost(post);

                foreach (var item in tagList)
                {
                    _postTag.AddPostTag(new PostTag {
                        PostId = postId, TagId = _tag.GetTag(o => o.TagName == item).TagId
                    }, false);
                }
            }

            var result = await _unitOfWork.SaveChangesAsync();

            if (result)
            {
                return(Json(new BaseResponse {
                    Success = true, Message = "操作成功"
                }));
            }
            else
            {
                return(Json(new BaseResponse {
                    Success = true, Message = "操作失败"
                }));
            }
        }