示例#1
0
        public ActionResult Edit(VWModel.ArticleVModel model, string vercode)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new JsonResultModel {
                    Message = ModelStateHelper.GetAllErrorMessage(ModelState)
                }));
            }
            if (string.IsNullOrEmpty(vercode))
            {
                return(Json(new JsonResultModel {
                    Message = "请输入验证码!"
                }));
            }
            if (!VerCode.CheckVerifyCode(vercode))
            {
                return(Json(new JsonResultModel {
                    Message = "验证码错误,请重新输入!"
                }));
            }

            //文章作者检测
            var article = Articles.GetArticleInfoById(model.Id);

            if (article == null || article.IsNull || article.UserId != CurrentUserInfo.Id)
            {
                return(Json(new JsonResultModel {
                    Message = "您的文章不存在!"
                }));
            }

            model.LastEditUserId = CurrentUserInfo.Id;
            var user = Users.GetUserById(CurrentUserInfo.Id);

            if (user == null || user.IsNull)
            {
                return(Json(new JsonResultModel {
                    Message = "用户信息异常!"
                }));
            }
            var role = Roles.GetRole(user.RoleId);

            if (role == null || role.IsNull)
            {
                return(Json(new JsonResultModel {
                    Message = "角色信息异常!"
                }));
            }
            //根据角色判断是否需要审核
            model.State = (short)(role.ArticleNeedVerified ? 0 : 1);

            bool status = ArticlesPublic.UpdateArticle(model);

            if (!status)
            {
                return(Json(new JsonResultModel {
                    Message = "修改失败!"
                }));
            }

            return(Json(new JsonResultModel {
                ResultState = true, Message = "修改成功!", Action = Url.Action("Detail", "Article", new { aid = model.Id })
            }));
        }
示例#2
0
        public async Task <ActionResult> Add(VWModel.ArticleVModel model, string vercode)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new JsonResultModel {
                    Message = ModelStateHelper.GetAllErrorMessage(ModelState)
                }));
            }
            if (string.IsNullOrEmpty(vercode))
            {
                return(Json(new JsonResultModel {
                    Message = "请输入验证码!"
                }));
            }
            if (!VerCode.CheckVerifyCode(vercode))
            {
                return(Json(new JsonResultModel {
                    Message = "验证码错误,请重新输入!"
                }));
            }

            if (!ArticlesPublic.CheckCanPost(CurrentUserInfo.Id, Site.Config.UserConfig.AddArticleInterval))
            {
                return(Json(new JsonResultModel {
                    Message = "操作速度太快了,喝口水再试一下!"
                }));
            }
            model.UserId         = CurrentUserInfo.Id;
            model.LastEditUserId = CurrentUserInfo.Id;
            var user = Users.GetUserById(CurrentUserInfo.Id);

            if (user == null || user.IsNull)
            {
                return(Json(new JsonResultModel {
                    Message = "用户信息异常!"
                }));
            }
            var role = Roles.GetRole(user.RoleId);

            if (role == null || role.IsNull)
            {
                return(Json(new JsonResultModel {
                    Message = "角色信息异常!"
                }));
            }
            //根据角色判断是否需要审核
            model.State = (short)(role.ArticleNeedVerified?0:1);

            long id = await ArticlesPublic.Add(model);

            if (id <= 0)
            {
                return(Json(new JsonResultModel {
                    Message = "提交失败!"
                }));
            }
            await UserPublic.UpdateArticleNum(CurrentUserInfo.Id, 1);

            return(Json(new JsonResultModel {
                ResultState = true, Message = "发表成功!", Action = Url.Action("Detail", "Article", new{ aid = id })
            }));
        }