diff --git a/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs b/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
index b4aef1a5..2335a69c 100644
--- a/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
+++ b/Tiobon.Core.Services/Ghre/Ghre_QuestionServices.cs
@@ -1,339 +1,246 @@
-using Tiobon.Core.IServices;
-using Tiobon.Core.Model.Models;
-using Tiobon.Core.Services.BASE;
-using Tiobon.Core.IRepository.Base;
-using Tiobon.Core.Model;
-using System.Dynamic;
-using Newtonsoft.Json.Linq;
-using AgileObjects.AgileMapper;
-using Mysqlx.Crud;
-using AgileObjects.AgileMapper.Extensions;
using System.Data;
+using AgileObjects.AgileMapper;
using Tiobon.Core.Common;
using Tiobon.Core.Common.DB.Dapper;
-using MySqlX.XDevAPI.Common;
-using System.Collections.Generic;
+using Tiobon.Core.IRepository.Base;
+using Tiobon.Core.IServices;
+using Tiobon.Core.Model;
+using Tiobon.Core.Model.Models;
+using Tiobon.Core.Services.BASE;
-namespace Tiobon.Core.Services
+namespace Tiobon.Core.Services;
+
+///
+/// 题目 (服务)
+///
+public class Ghre_QuestionServices : BaseServices, IGhre_QuestionServices
{
- ///
- /// 题目 (服务)
- ///
- public class Ghre_QuestionServices : BaseServices, IGhre_QuestionServices
+ private readonly IBaseRepository _dal;
+ private IGhre_QuestionAnswerServices _ghre_QuestionAnswerServices;
+ private IGhre_CourseServices _ghre_CourseServices;
+ private IGhre_CourseClassServices _ghre_CourseClassServices;
+ public Ghre_QuestionServices(IBaseRepository dal,
+ IGhre_QuestionAnswerServices ghre_QuestionAnswerServices,
+ IGhre_CourseServices ghre_CourseServices,
+ IGhre_CourseClassServices ghre_CourseClassServices)
{
- private readonly IBaseRepository _dal;
- private IGhre_QuestionAnswerServices _ghre_QuestionAnswerServices;
- private IGhre_CourseServices _ghre_CourseServices;
- private IGhre_CourseClassServices _ghre_CourseClassServices;
- public Ghre_QuestionServices(IBaseRepository dal,
- IGhre_QuestionAnswerServices ghre_QuestionAnswerServices,
- IGhre_CourseServices ghre_CourseServices,
- IGhre_CourseClassServices ghre_CourseClassServices)
- {
- this._dal = dal;
- base.BaseDal = dal;
- _ghre_QuestionAnswerServices = ghre_QuestionAnswerServices;
- _ghre_CourseServices = ghre_CourseServices;
- _ghre_CourseClassServices = ghre_CourseClassServices;
- }
+ this._dal = dal;
+ base.BaseDal = dal;
+ _ghre_QuestionAnswerServices = ghre_QuestionAnswerServices;
+ _ghre_CourseServices = ghre_CourseServices;
+ _ghre_CourseClassServices = ghre_CourseClassServices;
+ }
- public override async Task> QueryFilterPage(QueryBody body)
- {
- var data1 = await BaseDal.QueryFilterPage(body);
- var data = Mapper.Map(data1.result.DT_TableDataT1).ToANew>();
- var courseIds = data.Where(x => x.CourseId != null).Select(x => x.CourseId).ToList();
+ public override async Task> QueryFilterPage(QueryBody body)
+ {
+ var data1 = await BaseDal.QueryFilterPage(body);
+ var data = Mapper.Map(data1.result.DT_TableDataT1).ToANew>();
+ var courseIds = data.Where(x => x.CourseId != null).Select(x => x.CourseId).ToList();
- var courses = await _ghre_CourseServices.Query(x => courseIds.Contains(x.Id));
- var classs = await _ghre_CourseClassServices.Query();
- data.ForEach(x =>
+ var courses = await _ghre_CourseServices.Query(x => courseIds.Contains(x.Id));
+ var classs = await _ghre_CourseClassServices.Query();
+ data.ForEach(x =>
+ {
+ if (x.DifficultyLevel == "Easy")
+ x.DifficultyLevel = "简单";
+ else if (x.DifficultyLevel == "Normal")
+ x.DifficultyLevel = "普通";
+ else if (x.DifficultyLevel == "Hard")
+ x.DifficultyLevel = "困难";
+ x.QuestionType = ConvertQuestionType(x.QuestionType);
+
+ if (x.CourseId != null)
{
- if (x.DifficultyLevel == "Easy")
- x.DifficultyLevel = "简单";
- else if (x.DifficultyLevel == "Normal")
- x.DifficultyLevel = "普通";
- else if (x.DifficultyLevel == "Hard")
- x.DifficultyLevel = "困难";
-
- if (x.QuestionType == "Single")
- x.QuestionType = "单选题";
- else if (x.QuestionType == "Multiple")
- x.QuestionType = "多选题";
- else if (x.QuestionType == "TrueOrFalse")
- x.QuestionType = "判断题";
- else if (x.QuestionType == "Completion")
- x.QuestionType = "填空题";
- else if (x.QuestionType == "ShortAnswer")
- x.QuestionType = "简答题";
-
- if (x.CourseId != null)
- {
- var course = courses.Where(a => a.Id == x.CourseId).FirstOrDefault();
- x.CourseName = course?.CourseName;
- var courseClass = classs.Where(a => a.Id == course.CourseClassId).FirstOrDefault();
- x.CourseType = courseClass.ClassName;
- }
- });
+ var course = courses.Where(a => a.Id == x.CourseId).FirstOrDefault();
+ x.CourseName = course?.CourseName;
+ var courseClass = classs.Where(a => a.Id == course.CourseClassId).FirstOrDefault();
+ x.CourseType = courseClass.ClassName;
+ }
+ });
+ return new ServicePageResult(body.pageNum, data1.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data);
+ }
- return new ServicePageResult(body.pageNum, data1.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data);
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> QueryFrom(long Id)
+ {
+ var data = new FromGhre_QuestionInput();
+
+ #region Column
+ data.Column.Add(new FromGhre_QuestionColumn()
+ {
+ label = "课程名称",
+ field = "courseID",
+ elementType = "ApiSelect",
+ required = true,
+ multipleSelect = true,
+ editable = true,
+ dataSource = "api/Common/GetSelect?type=Ghre_Course"
+ });
+ data.Column.Add(new FromGhre_QuestionColumn()
+ {
+ label = "题目编号",
+ field = "questionNo",
+ elementType = "Input",
+ required = false,
+ multipleSelect = false,
+ editable = false,
+ dataSource = "",
+ placeholder = "保存后自动生成"
+ });
+ #endregion
- }
+ #region PageData
- ///
- ///
- ///
- ///
- ///
- public async Task> QueryFrom(long Id)
+ var answerList = new List
{
- var data = new FromGhre_QuestionInput();
-
- #region Column
- data.Column.Add(new FromGhre_QuestionColumn()
+ new FromGhre_QuestionQuestionAnswerList()
{
- label = "课程名称",
- field = "courseID",
- elementType = "ApiSelect",
- required = true,
- multipleSelect = true,
- editable = true,
- dataSource = "api/Common/GetSelect?type=Ghre_Course"
- });
- data.Column.Add(new FromGhre_QuestionColumn()
+ No = "A",
+ },
+ new FromGhre_QuestionQuestionAnswerList()
{
- label = "题目编号",
- field = "questionNo",
- elementType = "Input",
- required = false,
- multipleSelect = false,
- editable = false,
- dataSource = "",
- placeholder = "保存后自动生成"
- });
-
- #endregion
-
- #region PageData
-
- var answerList = new List
+ No = "B",
+ },
+ new FromGhre_QuestionQuestionAnswerList()
{
- new FromGhre_QuestionQuestionAnswerList()
- {
- No = "A",
- },
- new FromGhre_QuestionQuestionAnswerList()
- {
- No = "B",
- },
- new FromGhre_QuestionQuestionAnswerList()
- {
- No = "C",
- },
- new FromGhre_QuestionQuestionAnswerList()
- {
- No = "D",
- }
- };
- var answerList1 = new List
+ No = "C",
+ },
+ new FromGhre_QuestionQuestionAnswerList()
{
- new FromGhre_QuestionQuestionAnswerList()
- {
- No = "A",
- },
- new FromGhre_QuestionQuestionAnswerList()
+ No = "D",
+ }
+ };
+ var answerList1 = new List
+ {
+ new FromGhre_QuestionQuestionAnswerList()
+ {
+ No = "A",
+ },
+ new FromGhre_QuestionQuestionAnswerList()
+ {
+ No = "B",
+ }
+ };
+ data.PageData.questionType = new List
+ {
+ new FromGhre_QuestionQuestionType()
+ {
+ label = "单选题",
+ type = "Single",
+ isActive = 1,
+ detail= new FromGhre_QuestionQuestionTypeDetail()
{
- No = "B",
+ answerList=answerList
}
- };
- data.PageData.questionType = new List
+ },
+ new FromGhre_QuestionQuestionType()
{
- new FromGhre_QuestionQuestionType()
+ label = "多选题",
+ type = "Multiple",
+ isActive = 0,
+ detail= new FromGhre_QuestionQuestionTypeDetail()
{
- label = "单选题",
- type = "Single",
- isActive = 1,
- detail= new FromGhre_QuestionQuestionTypeDetail()
- {
- answerList=answerList
- }
- },
- new FromGhre_QuestionQuestionType()
- {
- label = "多选题",
- type = "Multiple",
- isActive = 0,
- detail= new FromGhre_QuestionQuestionTypeDetail()
- {
- answerList=answerList
- }
- },
- new FromGhre_QuestionQuestionType()
- {
- label = "判断题",
- type = "TrueOrFalse",
- isActive = 0,
- detail= new FromGhre_QuestionQuestionTypeDetail()
- {
- answerList=answerList1
- }
- },
- new FromGhre_QuestionQuestionType()
- {
- label = "填空题",
- type = "Completion",
- isActive = 0,
- },
- new FromGhre_QuestionQuestionType()
- {
- label = "简答题",
- type = "ShortAnswer",
- isActive = 0,
+ answerList=answerList
}
- };
-
- if (Id != 0)
+ },
+ new FromGhre_QuestionQuestionType()
{
- var question = await base.QueryById(Id);
- data.PageData.questionType.ForEach(x => x.isActive = 0);
- data.PageData.baseData.questionNo = question.QuestionNo;
- data.PageData.baseData.courseID.Add(question.CourseId);
-
- var questionType = data.PageData.questionType.Where(x => x.type == question.QuestionType).FirstOrDefault();
- if (questionType != null)
+ label = "判断题",
+ type = "TrueOrFalse",
+ isActive = 0,
+ detail= new FromGhre_QuestionQuestionTypeDetail()
{
- var answers = await _ghre_QuestionAnswerServices.Query(x => x.QuestionId == Id, "TaxisNo ASC");
- questionType.isActive = 1;
- questionType.detail.difficulty = question.DifficultyLevel;
- questionType.detail.answer = answers.Where(x => x.IsCorrect == true).FirstOrDefault()?.QuestionNo;
- questionType.detail.answer1 = answers.Where(x => x.IsCorrect == true).Select(x => x.QuestionNo).ToList();
- questionType.detail.answer1 = answers.Where(x => x.IsCorrect == true).Select(x => x.QuestionNo).ToList();
- questionType.detail.content = question.QuestionContent;
- questionType.detail.RemarkSz = question.QuestionAnalysis;
- questionType.detail.answerList = answers.Select(x => new FromGhre_QuestionQuestionAnswerList()
- {
- No = x.QuestionNo,
- label = x.AnswerContent,
- imageUrl = x.ImageUrl,
- imgWidthPc = x.ImageWidthPc,
- imgWidthApp = x.ImageWidthApp,
- }).ToList();
+ answerList=answerList1
}
+ },
+ new FromGhre_QuestionQuestionType()
+ {
+ label = "填空题",
+ type = "Completion",
+ isActive = 0,
+ },
+ new FromGhre_QuestionQuestionType()
+ {
+ label = "简答题",
+ type = "ShortAnswer",
+ isActive = 0,
}
- #endregion
+ };
- return ServiceResult.OprateSuccess("查询成功!", data);
- }
-
- public async Task InsertFrom(FromGhre_QuestionPageData insertModel)
+ if (Id != 0)
{
- var questionType = insertModel.questionType.Where(x => x.isActive == 1).FirstOrDefault();
- string questionTypeName = string.Empty;
- if (questionType.type == "Single")
- questionTypeName = "单选题";
- else if (questionType.type == "Multiple")
- questionTypeName = "多选题";
- else if (questionType.type == "TrueOrFalse")
- questionTypeName = "判断题";
- else if (questionType.type == "Completion")
- questionTypeName = "填空题";
- else if (questionType.type == "ShortAnswer")
- questionTypeName = "简答题";
-
- #region 判断是否重复
- for (int j = 0; j < insertModel.baseData.courseID.Count; j++)
- {
- var courseID = insertModel.baseData.courseID[j];
- string sql = "SELECT * FROM Ghre_Question where QuestionType='{0}' and CourseId='{1}' and QuestionContent ='{2}'";
- sql = string.Format(sql, questionType.type, courseID, questionType.detail.content);
- DataTable dt = Db.Ado.GetDataTable(sql);
- if (dt.Rows.Count > 0)
- {
- var course = await _ghre_CourseServices.QueryById(courseID);
- throw new Exception($"课程【{course.CourseName}】存在相同内容【{questionTypeName}】");
- }
- }
- #endregion
+ var question = await base.QueryById(Id);
+ data.PageData.questionType.ForEach(x => x.isActive = 0);
+ data.PageData.baseData.questionNo = question.QuestionNo;
+ data.PageData.baseData.courseID.Add(question.CourseId);
- for (int j = 0; j < insertModel.baseData.courseID.Count; j++)
+ var questionType = data.PageData.questionType.Where(x => x.type == question.QuestionType).FirstOrDefault();
+ if (questionType != null)
{
- var courseID = insertModel.baseData.courseID[j];
- var insert = new InsertGhre_QuestionInput();
- insert.CourseId = courseID;
-
- insert.QuestionType = questionType.type;
- insert.DifficultyLevel = questionType.detail.difficulty;
- insert.QuestionContent = questionType.detail.content;
- insert.QuestionAnalysis = questionType.detail.RemarkSz;
- insert.QuestionNo = GenerateContinuousSequence(insert.QuestionType.Substring(0, 1));
-
- var id = await base.Add(insert);
-
- var insertAnswers = questionType.detail.answerList.Select(x => new InsertGhre_QuestionAnswerInput()
+ var answers = await _ghre_QuestionAnswerServices.Query(x => x.QuestionId == Id, "TaxisNo ASC");
+ questionType.isActive = 1;
+ questionType.detail.difficulty = question.DifficultyLevel;
+ questionType.detail.answer = answers.Where(x => x.IsCorrect == true).FirstOrDefault()?.QuestionNo;
+ questionType.detail.answer1 = answers.Where(x => x.IsCorrect == true).Select(x => x.QuestionNo).ToList();
+ questionType.detail.answer1 = answers.Where(x => x.IsCorrect == true).Select(x => x.QuestionNo).ToList();
+ questionType.detail.content = question.QuestionContent;
+ questionType.detail.RemarkSz = question.QuestionAnalysis;
+ questionType.detail.answerList = answers.Select(x => new FromGhre_QuestionQuestionAnswerList()
{
- QuestionNo = x.No,
- AnswerContent = x.label,
- ImageUrl = x.imageUrl,
- ImageWidthPc = x.imgWidthPc,
- ImageWidthApp = x.imgWidthApp,
+ No = x.QuestionNo,
+ label = x.AnswerContent,
+ imageUrl = x.ImageUrl,
+ imgWidthPc = x.ImageWidthPc,
+ imgWidthApp = x.ImageWidthApp,
}).ToList();
- int i = 100;
- insertAnswers.ForEach(x =>
- {
- x.TaxisNo = i;
- x.QuestionId = id;
- if (questionType.detail.answer == x.QuestionNo && insert.QuestionType == "Single")
- x.IsCorrect = true;
- i = i + 100;
- });
- await _ghre_QuestionAnswerServices.Add(insertAnswers);
}
-
- return ServiceResult.OprateSuccess("新增成功!");
}
+ #endregion
+
+ return ServiceResult.OprateSuccess("查询成功!", data);
+ }
- public async Task UpdareFrom(long Id, FromGhre_QuestionPageData editModel)
+ public async Task InsertFrom(FromGhre_QuestionPageData insertModel)
+ {
+ var questionType = insertModel.questionType.Where(x => x.isActive == 1).FirstOrDefault();
+ string questionTypeName = ConvertQuestionType(questionType.type);
+
+ #region 判断是否重复
+ for (int j = 0; j < insertModel.baseData.courseID.Count; j++)
{
- var questionType = editModel.questionType.Where(x => x.isActive == 1).FirstOrDefault();
- string questionTypeName = string.Empty;
- if (questionType.type == "Single")
- questionTypeName = "单选题";
- else if (questionType.type == "Multiple")
- questionTypeName = "多选题";
- else if (questionType.type == "TrueOrFalse")
- questionTypeName = "判断题";
- else if (questionType.type == "Completion")
- questionTypeName = "填空题";
- else if (questionType.type == "ShortAnswer")
- questionTypeName = "简答题";
-
- #region 判断是否重复
- for (int j = 0; j < editModel.baseData.courseID.Count; j++)
+ var courseID = insertModel.baseData.courseID[j];
+ string sql = "SELECT * FROM Ghre_Question where QuestionType='{0}' and CourseId='{1}' and QuestionContent ='{2}'";
+ sql = string.Format(sql, questionType.type, courseID, questionType.detail.content);
+ DataTable dt = Db.Ado.GetDataTable(sql);
+ if (dt.Rows.Count > 0)
{
- var courseID = editModel.baseData.courseID[j];
- string sql = "SELECT * FROM Ghre_Question where QuestionType='{0}' and CourseId='{1}' and QuestionContent ='{2}' AND Id !='{3}'";
- sql = string.Format(sql, questionType.type, courseID, questionType.detail.content, Id);
- DataTable dt = Db.Ado.GetDataTable(sql);
- if (dt.Rows.Count > 0)
- {
- var course = await _ghre_CourseServices.QueryById(courseID);
- throw new Exception($"课程【{course.CourseName}】存在相同内容【{questionTypeName}】");
- }
+ var course = await _ghre_CourseServices.QueryById(courseID);
+ throw new Exception($"课程【{course.CourseName}】存在相同内容【{questionTypeName}】");
}
- #endregion
+ }
+ #endregion
- var data = await base.QueryById(Id);
- await _ghre_QuestionAnswerServices.Delete(x => x.QuestionId == Id);
- var edit = Mapper.Map(data).ToANew();
- edit.CourseId = editModel.baseData.courseID[0];
+ for (int j = 0; j < insertModel.baseData.courseID.Count; j++)
+ {
+ var courseID = insertModel.baseData.courseID[j];
+ var insert = new InsertGhre_QuestionInput();
+ insert.CourseId = courseID;
- edit.QuestionType = questionType.type;
- edit.DifficultyLevel = questionType.detail.difficulty;
- edit.QuestionContent = questionType.detail.content;
- edit.QuestionAnalysis = questionType.detail.RemarkSz;
+ insert.QuestionType = questionType.type;
+ insert.DifficultyLevel = questionType.detail.difficulty;
+ insert.QuestionContent = questionType.detail.content;
+ insert.QuestionAnalysis = questionType.detail.RemarkSz;
+ insert.QuestionNo = GenerateContinuousSequence(insert.QuestionType.Substring(0, 1));
+
+ var id = await base.Add(insert);
- await base.Update(Id, edit);
var insertAnswers = questionType.detail.answerList.Select(x => new InsertGhre_QuestionAnswerInput()
{
QuestionNo = x.No,
@@ -346,113 +253,182 @@ namespace Tiobon.Core.Services
insertAnswers.ForEach(x =>
{
x.TaxisNo = i;
- x.QuestionId = Id;
- if (questionType.detail.answer == x.QuestionNo && edit.QuestionType == "Single")
+ x.QuestionId = id;
+ if (questionType.detail.answer == x.QuestionNo && insert.QuestionType == "Single")
x.IsCorrect = true;
i = i + 100;
});
await _ghre_QuestionAnswerServices.Add(insertAnswers);
+ }
+
+ return ServiceResult.OprateSuccess("新增成功!");
+ }
+
+ public async Task UpdareFrom(long Id, FromGhre_QuestionPageData editModel)
+ {
+ var questionType = editModel.questionType.Where(x => x.isActive == 1).FirstOrDefault();
+ string questionTypeName = ConvertQuestionType(questionType.type);
- for (int j = 0; j < editModel.baseData.courseID.Count; j++)
+ #region 判断是否重复
+ for (int j = 0; j < editModel.baseData.courseID.Count; j++)
+ {
+ var courseID = editModel.baseData.courseID[j];
+ string sql = "SELECT * FROM Ghre_Question where QuestionType='{0}' and CourseId='{1}' and QuestionContent ='{2}' AND Id !='{3}'";
+ sql = string.Format(sql, questionType.type, courseID, questionType.detail.content, Id);
+ DataTable dt = Db.Ado.GetDataTable(sql);
+ if (dt.Rows.Count > 0)
{
- if (j == 0)
- continue;
+ var course = await _ghre_CourseServices.QueryById(courseID);
+ throw new Exception($"课程【{course.CourseName}】存在相同内容【{questionTypeName}】");
+ }
+ }
+ #endregion
- var courseID = editModel.baseData.courseID[j];
- var insert = new InsertGhre_QuestionInput();
- insert.CourseId = courseID;
+ var data = await base.QueryById(Id);
+ await _ghre_QuestionAnswerServices.Delete(x => x.QuestionId == Id);
+ var edit = Mapper.Map(data).ToANew();
+ edit.CourseId = editModel.baseData.courseID[0];
- insert.QuestionType = questionType.type;
- insert.DifficultyLevel = questionType.detail.difficulty;
- insert.QuestionContent = questionType.detail.content;
- insert.QuestionAnalysis = questionType.detail.RemarkSz;
- insert.QuestionNo = GenerateContinuousSequence(insert.QuestionType.Substring(0, 1));
+ edit.QuestionType = questionType.type;
+ edit.DifficultyLevel = questionType.detail.difficulty;
+ edit.QuestionContent = questionType.detail.content;
+ edit.QuestionAnalysis = questionType.detail.RemarkSz;
- var id = await base.Add(insert);
+ await base.Update(Id, edit);
+ var insertAnswers = questionType.detail.answerList.Select(x => new InsertGhre_QuestionAnswerInput()
+ {
+ QuestionNo = x.No,
+ AnswerContent = x.label,
+ ImageUrl = x.imageUrl,
+ ImageWidthPc = x.imgWidthPc,
+ ImageWidthApp = x.imgWidthApp,
+ }).ToList();
+ int i = 100;
+ insertAnswers.ForEach(x =>
+ {
+ x.TaxisNo = i;
+ x.QuestionId = Id;
+ if (questionType.detail.answer == x.QuestionNo && edit.QuestionType == "Single")
+ x.IsCorrect = true;
+ i = i + 100;
+ });
+ await _ghre_QuestionAnswerServices.Add(insertAnswers);
+
+ for (int j = 0; j < editModel.baseData.courseID.Count; j++)
+ {
+ if (j == 0)
+ continue;
- insertAnswers = questionType.detail.answerList.Select(x => new InsertGhre_QuestionAnswerInput()
- {
- QuestionNo = x.No,
- AnswerContent = x.label,
- ImageUrl = x.imageUrl,
- ImageWidthPc = x.imgWidthPc,
- ImageWidthApp = x.imgWidthApp,
- }).ToList();
- i = 100;
- insertAnswers.ForEach(x =>
- {
- x.TaxisNo = i;
- x.QuestionId = id;
- if (questionType.detail.answer == x.QuestionNo && insert.QuestionType == "Single")
- x.IsCorrect = true;
- i = i + 100;
- });
- await _ghre_QuestionAnswerServices.Add(insertAnswers);
- }
+ var courseID = editModel.baseData.courseID[j];
+ var insert = new InsertGhre_QuestionInput();
+ insert.CourseId = courseID;
- return ServiceResult.OprateSuccess("更新成功!");
- }
+ insert.QuestionType = questionType.type;
+ insert.DifficultyLevel = questionType.detail.difficulty;
+ insert.QuestionContent = questionType.detail.content;
+ insert.QuestionAnalysis = questionType.detail.RemarkSz;
+ insert.QuestionNo = GenerateContinuousSequence(insert.QuestionType.Substring(0, 1));
- public static string GenerateContinuousSequence(string prefixTemp)
- {
- try
+ var id = await base.Add(insert);
+
+ insertAnswers = questionType.detail.answerList.Select(x => new InsertGhre_QuestionAnswerInput()
{
- string result = string.Empty;
- string tableCode = "Ghre_Question";
- string columnCode = "QuestionNo";
- int length = 7;
- int tempLength = 6;
- int sequence;
+ QuestionNo = x.No,
+ AnswerContent = x.label,
+ ImageUrl = x.imageUrl,
+ ImageWidthPc = x.imgWidthPc,
+ ImageWidthApp = x.imgWidthApp,
+ }).ToList();
+ i = 100;
+ insertAnswers.ForEach(x =>
+ {
+ x.TaxisNo = i;
+ x.QuestionId = id;
+ if (questionType.detail.answer == x.QuestionNo && insert.QuestionType == "Single")
+ x.IsCorrect = true;
+ i = i + 100;
+ });
+ await _ghre_QuestionAnswerServices.Add(insertAnswers);
+ }
- #region 查询
- DbSelect dbSelect = new DbSelect(tableCode + " A", "A", null);
- dbSelect.IsInitDefaultValue = false;
+ return ServiceResult.OprateSuccess("更新成功!");
+ }
+ public static string GenerateContinuousSequence(string prefixTemp)
+ {
+ try
+ {
+ string result = string.Empty;
+ string tableCode = "Ghre_Question";
+ string columnCode = "QuestionNo";
+ int length = 7;
+ int tempLength = 6;
+ int sequence;
+
+ #region 查询
+ DbSelect dbSelect = new DbSelect(tableCode + " A", "A", null);
+ dbSelect.IsInitDefaultValue = false;
+
+ if (!string.IsNullOrEmpty(prefixTemp))
+ dbSelect.Select("MAX(SUBSTRING(A." + columnCode + "," + (prefixTemp.Length + 1).ToString() + "," + tempLength.ToString() + "))");
+ else
+ dbSelect.Select("MAX(A." + columnCode + ")");
+ //}
+ //dbSelect.Select("MAX(CONVERT(DECIMAL,SUBSTRING(A.ISSUE_NO," + (prefix.Length + dateString.Length + 1).ToString() + "," + tempLength.ToString() + ")))");
+ if (!string.IsNullOrEmpty(prefixTemp))
+ dbSelect.Where("SUBSTRING(A." + columnCode + ",1," + (prefixTemp.Length).ToString() + ")", " = ", prefixTemp);
+ dbSelect.Where("LEN(A." + columnCode + ")", "=", length);
+ string sql = dbSelect.GetSql();
+ string maxSequence = Convert.ToString(DbAccess.Instance.ExecuteScalar(sql));
+ #endregion
+ //tempLength = tempLength - dateString.Length;
+ if (string.IsNullOrEmpty(maxSequence))
+ result = prefixTemp + Convert.ToString(1).PadLeft(tempLength, '0');
+ else
+ {
if (!string.IsNullOrEmpty(prefixTemp))
- dbSelect.Select("MAX(SUBSTRING(A." + columnCode + "," + (prefixTemp.Length + 1).ToString() + "," + tempLength.ToString() + "))");
- else
- dbSelect.Select("MAX(A." + columnCode + ")");
- //}
- //dbSelect.Select("MAX(CONVERT(DECIMAL,SUBSTRING(A.ISSUE_NO," + (prefix.Length + dateString.Length + 1).ToString() + "," + tempLength.ToString() + ")))");
- if (!string.IsNullOrEmpty(prefixTemp))
- dbSelect.Where("SUBSTRING(A." + columnCode + ",1," + (prefixTemp.Length).ToString() + ")", " = ", prefixTemp);
- dbSelect.Where("LEN(A." + columnCode + ")", "=", length);
- string sql = dbSelect.GetSql();
- string maxSequence = Convert.ToString(DbAccess.Instance.ExecuteScalar(sql));
- #endregion
- //tempLength = tempLength - dateString.Length;
- if (string.IsNullOrEmpty(maxSequence))
- result = prefixTemp + Convert.ToString(1).PadLeft(tempLength, '0');
- else
{
- if (!string.IsNullOrEmpty(prefixTemp))
+ if (int.TryParse(maxSequence, out sequence))
{
- if (int.TryParse(maxSequence, out sequence))
- {
- sequence += 1;
- if (sequence.ToString().Length > tempLength)
- throw new Exception("自动生成字串长度已经超过设定长度!");
- }
- else
- throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
- result = prefixTemp + sequence.ToString().PadLeft(tempLength, '0');
+ sequence += 1;
+ if (sequence.ToString().Length > tempLength)
+ throw new Exception("自动生成字串长度已经超过设定长度!");
}
else
+ throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
+ result = prefixTemp + sequence.ToString().PadLeft(tempLength, '0');
+ }
+ else
+ {
+ if (int.TryParse(maxSequence, out sequence))
{
- if (int.TryParse(maxSequence, out sequence))
- {
- sequence += 1;
- if (sequence.ToString().Length > length)
- throw new Exception("自动生成字串长度已经超过设定长度!");
- }
- else
- throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
- result = sequence.ToString().PadLeft(length, '0');
+ sequence += 1;
+ if (sequence.ToString().Length > length)
+ throw new Exception("自动生成字串长度已经超过设定长度!");
}
+ else
+ throw new Exception("表中的数据无法进行自动编号,请联系软件开发商!");
+ result = sequence.ToString().PadLeft(length, '0');
}
- return result;
}
- catch (Exception) { throw; }
+ return result;
}
+ catch (Exception) { throw; }
+ }
+
+ public static string ConvertQuestionType(string type)
+ {
+ string questionTypeName = string.Empty;
+ if (type == "Single")
+ questionTypeName = "单选题";
+ else if (type == "Multiple")
+ questionTypeName = "多选题";
+ else if (type == "TrueOrFalse")
+ questionTypeName = "判断题";
+ else if (type == "Completion")
+ questionTypeName = "填空题";
+ else if (type == "ShortAnswer")
+ questionTypeName = "简答题";
+ return questionTypeName;
}
}
\ No newline at end of file