public string GetTestPaper(string pRequest) { var rd = new APIResponse <GetTestPaperRD>(); var rdData = new GetTestPaperRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <GetTestPaperRP> >(); if (rp.Parameters == null) { throw new ArgumentException(); } if (rp.Parameters != null) { rp.Parameters.Validate(); } var loggingSessionInfo = Default.GetBSLoggingSession(rp.CustomerID, rp.UserID); try { //获取考题 QuesQuestionsBLL queBll = new QuesQuestionsBLL(loggingSessionInfo); DataTable dTbl = queBll.GetQuesQuestions(rp.Parameters.SurveyTestId); List <QuesQuestionItem> quesList = new List <QuesQuestionItem>(); if (dTbl != null) { quesList = DataTableToObject.ConvertToList <QuesQuestionItem>(dTbl); } //循环获取考题选项 QuesOptionBLL quesOpBll = new QuesOptionBLL(loggingSessionInfo); List <QuesOptionItem> quesOptionList = new List <QuesOptionItem>(); DataTable dTblOption = null; foreach (var qItem in quesList) { quesOptionList = new List <QuesOptionItem>(); dTblOption = quesOpBll.GetQuesOptions(qItem.QuestionID); if (dTblOption != null && dTblOption.Rows.Count > 0) { quesOptionList = DataTableToObject.ConvertToList <QuesOptionItem>(dTblOption); } qItem.QuesOptionList = quesOptionList; } rdData.QuesQuestionList = quesList; rd.ResultCode = 0; } catch (Exception ex) { rd.ResultCode = 103; rd.Message = ex.Message; } rd.Data = rdData; return(rd.ToJSON()); }
public string GetSingleAnswer(string pQuestionId, string pAnswer) { string ret = "-1"; QuesQuestionsBLL quesBll = new QuesQuestionsBLL(_loggingSessionInfo); QuesQuestionsEntity entity = quesBll.GetByID(pQuestionId); if (entity != null) { QuesOptionBLL quesOpBll = new QuesOptionBLL(_loggingSessionInfo); DataTable dTblOption = quesOpBll.GetQuesOptions(pQuestionId); //1单选,2多选,3主观选择题,4填空题,5标准打分题 int questionType = (int)entity.QuestionType; DataRow[] drs = null; if (questionType == 1)//1单选 { if (dTblOption != null && dTblOption.Rows.Count > 0) { drs = dTblOption.Select("IsAnswer=1"); if (drs != null && drs.Length > 0) { if (drs[0]["OptionIndex"].ToString().ToLower().Equals(pAnswer.ToLower())) { ret = "1"; } else { ret = "0"; } } } } else if (questionType == 2) //2多选 { string[] answerArr = pAnswer.ToLower().Split(','); if (dTblOption != null && dTblOption.Rows.Count > 0) { drs = dTblOption.Select("IsAnswer=1"); int index = 0; foreach (DataRow row in drs) { for (int i = 0; i < answerArr.Length; i++) { if (row["OptionIndex"].ToString().ToLower().Equals(answerArr[i])) { index++; } } } if (index != answerArr.Length) { ret = "1"; } else { ret = "0"; } } } else { ret = "-1"; } ret += "|" + entity.QuestionValue; } else { ret += "|题不存在"; } return(ret); }