Example #1
0
        /// <summary>
        /// 创建问卷题目选项
        /// </summary>
        /// <param name="options">题目选项列表</param>
        /// <param name="user">当前用户</param>
        /// <param name="subjectId">题目Id</param>
        /// <param name="message">处理结果信息</param>
        /// <returns></returns>
        public QssResult QssCreateQuesOption(JArray options, User user, QuesSubject subject, out string message)
        {
            // 创建题目选项
            foreach (JObject option in options)
            {
                var quesOption = new QuesOption()
                {
                    Content     = (string)option["Content"],
                    QuesSubject = subject
                };

                DbSession.QuesOptionDal.Add(quesOption);
            }

            // 保存题目选项
            try
            {
                DbSession.SaveChanges();

                // 保存成功
                message = "创建题目选项成功!";
                return(QssResult.Success);
            }
            catch (Exception exception)
            {
                // 保存失败
                message = "保存题目选项失败! 失败原因:" + exception.Message;
                QssLogHelper.Log("保存题目选项失败", $"保存题目 {subject.Content} 的选项失败!", QssLogType.Info);
                return(QssResult.Fail);
            }
        }
Example #2
0
        /// <summary>
        /// 保存问卷题目选项
        /// </summary>
        /// <param name="options">题目选项列表</param>
        /// <param name="message">处理结果信息</param>
        /// <returns></returns>
        public QssResult QssSaveQuesOption(JArray options, QuesSubject quesSubject, out List <GetWtQuesOption> wtOptions, out string message)
        {
            // 存放选项列表和选项的临时变量
            var getWtOptions = new List <GetWtQuesOption>();

            // 保存变量
            foreach (JObject option in options)
            {
                int optionId   = Convert.ToInt32(option["Id"]);
                var quesOption = quesSubject.QuesOptions.FirstOrDefault(o => o.Id == optionId);
                if (quesOption == null)
                {
                    wtOptions = null;
                    message   = "获取选项失败!";
                    QssLogHelper.Log("获取选项失败", "在保存填写记录时,获取题目选项失败!", QssLogType.Error);
                    return(QssResult.Fail);
                }

                quesOption.Num++;
                DbSession.QuesOptionDal.Update(quesOption);
                getWtOptions.Add(new GetWtQuesOption()
                {
                    Id = quesOption.Id
                });
            }

            // 保存
            try
            {
                DbSession.SaveChanges();

                // 保存成功
                wtOptions = getWtOptions;
                message   = "保存问卷结果成功!";
                return(QssResult.Success);
            }
            catch (Exception exception)
            {
                // 保存失败
                wtOptions = null;
                message   = "保存问卷结果失败! 失败原因:" + exception;
                QssLogHelper.Log("保存问卷结果失败", "在填写记录时,保存问卷结果失败!", QssLogType.Error, exception);
                return(QssResult.Fail);
            }
        }