Пример #1
0
        /// <summary>
        /// 保存问卷填写内容
        /// </summary>
        /// <param name="content">问卷内容</param>
        /// <param name="message">处理后的结果信息</param>
        /// <returns></returns>
        public QssResult QssSaveQuestion(string content, out string message)
        {
            JObject quesRoot = (JObject)JsonConvert.DeserializeObject(content);
            int     quesId   = Convert.ToInt32(quesRoot["Id"]);

            // 查看填写问卷权限
            if (CheckWtAuth(quesId, out Question question, out message) != QssResult.Success)
            {
                return(QssResult.Fail);
            }

            // 校验权限
            if (CheckWtAuth(quesId, out question, out message) != QssResult.Success)
            {
                return(QssResult.Fail);
            }

            // 保存题目
            var result = new QuesSubjectService().QssSaveQuesWtLog((JArray)quesRoot["Subjects"], question, out List <GetWtQuesSubject> wtSubjects, out message);

            if (result != QssResult.Success)
            {
                return(result);
            }

            // 保存填写记录
            return(new WtLogService().QssSaveQuesWtLog(question, wtSubjects.ToArray(), CurrentUser, out message));
        }
Пример #2
0
        /// <summary>
        /// 创建问卷
        /// Error:跳转
        /// </summary>
        /// <param name="content">问卷内容</param>
        /// <param name="message">处理结果信息</param>
        /// <returns></returns>
        public QssResult QssCreateQues(string content, out string message)
        {
            // 获取当前登录用户
            QssResult result = DbSession.UserDal.QssGetUserByAccount(User.Identity.Name, out User user);

            if (result != QssResult.Success)
            {
                message = "获取当前用户失败!";
                return(QssResult.Error);
            }

            if (!user.QssCheckHaveEmail())
            {
                message = "未绑定邮箱!";
                return(QssResult.Fail);
            }

            // 每人每天只能添加3份问卷
            if (user.LastAddQuesTime.AddDays(1) > DateTime.Now && user.AddQuesNum >= 3)
            {
                message = "添加问卷失败,每人每天只能添加3份问卷!";
                return(QssResult.Error);
            }

            // 获取问卷内容
            JObject quesRoot = (JObject)JsonConvert.DeserializeObject(content);

            // 全局变量
            JObject quesGlobal = (JObject)quesRoot["Global"];

            // 创建问卷
            result = QssCreateQuesGlobal(quesGlobal, user, out Question question, out message);
            if (result != QssResult.Success)
            {
                return(result);
            }

            // 创建题目
            JArray quesSubject = (JArray)quesRoot["Subjects"];

            result = new QuesSubjectService().QssCreateQuesSubject(quesSubject, user, question, out message);
            if (result != QssResult.Success)
            {
                return(result);
            }

            // 保存问卷内容
            result = QssCreateQuesContent(question, out message);
            if (result != QssResult.Success)
            {
                return(result);
            }

            // 发送站内信和邮件
            return(new QssSendQvLetterEmail <Question>(question).Send(out message));
        }