Commit e3bdfe27 authored by 黄奎's avatar 黄奎

页面修改

parent 226f8109
...@@ -31,126 +31,19 @@ namespace Edu.Module.Question ...@@ -31,126 +31,19 @@ namespace Edu.Module.Question
{ {
//单选题 //单选题
case "single": case "single":
var singleList = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data); obj = GetChooseOptionList(data, isOptionRandom, isNoAnswer);
var newList = new List<optionItem>();
singleList.ForEach(item =>
{
item.ShowName = item.Name;
});
//选项随机
if (isOptionRandom == 1)
{
var tempList = singleList.OrderBy(qitem => Guid.NewGuid()).ToList();
for (var i = 0; i < tempList.Count; i++)
{
var item = new optionItem()
{
Name = tempList[i].Name,
ShowName = tempList[i].ShowName,
Content = tempList[i].Content,
IsAnswer = tempList[i].IsAnswer
};
item.ShowName = LetterArray[i];
newList.Add(item);
}
}
//去掉答案
if (isNoAnswer)
{
singleList.ForEach(item =>
{
item.IsAnswer = false;
});
newList.ForEach(item =>
{
item.IsAnswer = false;
});
}
if (isOptionRandom == 1)
{
obj = newList;
}
else
{
obj = singleList;
}
break; break;
//多选题 //多选题
case "multiple": case "multiple":
var multipleList = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data); obj= GetChooseOptionList(data, isOptionRandom, isNoAnswer);
var newMultipleList = new List<optionItem>();
newMultipleList.ForEach(item =>
{
item.ShowName = item.Name;
});
//选项随机
if (isOptionRandom == 1)
{
var tempList = multipleList.OrderBy(qitem => Guid.NewGuid()).ToList();
for (var i = 0; i < tempList.Count; i++)
{
var item = new optionItem()
{
Name = tempList[i].Name,
ShowName = tempList[i].ShowName,
Content = tempList[i].Content,
IsAnswer = tempList[i].IsAnswer
};
item.ShowName = LetterArray[i];
newMultipleList.Add(item);
}
}
//去掉答案
if (isNoAnswer)
{
multipleList.ForEach(item =>
{
item.IsAnswer = false;
});
newMultipleList.ForEach(item =>
{
item.IsAnswer = false;
});
}
if (isOptionRandom == 1)
{
obj = newMultipleList;
}
else
{
obj = multipleList;
}
break; break;
//填空题 //填空题
case "fill-in": case "fill-in":
if (!string.IsNullOrEmpty(data)) obj = GetFillInList(data, isNoAnswer);
{
var fillInList = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(data);
if (isNoAnswer)
{
fillInList.ForEach(item =>
{
item.Content = "";
});
}
obj = fillInList;
}
else
{
obj = null;
}
break; break;
//判断题 //判断题
case "judge": case "judge":
var judgeList = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data); obj = GetJudgeList(data,isNoAnswer);
if (isNoAnswer)
{
judgeList.ForEach(item =>
{
item.IsAnswer = false;
});
}
obj = judgeList;
break; break;
//简答题 //简答题
case "short-answer": case "short-answer":
...@@ -170,23 +63,23 @@ namespace Edu.Module.Question ...@@ -170,23 +63,23 @@ namespace Edu.Module.Question
break; break;
//分录题 //分录题
case "entry-problem": case "entry-problem":
obj = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(data); obj = GetFillInList(data,isNoAnswer);
break; break;
//资料题 //资料题
case "data-question": case "data-question":
obj = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(data); obj = GetFillInList(data, isNoAnswer);
break; break;
//连线题 //连线题
case "matching": case "matching":
obj = Common.Plugin.JsonHelper.DeserializeObject<List<List<matchingItem>>>(data); obj = GetMatchingList(data, isNoAnswer);
break; break;
//排序题 //排序题
case "sorting-problem": case "sorting-problem":
obj = Common.Plugin.JsonHelper.DeserializeObject<List<List<matchingItem>>>(data); obj = GetSortingProblemList(data,isNoAnswer);
break; break;
//完型填空 //完型填空
case "cloze": case "cloze":
obj = Common.Plugin.JsonHelper.DeserializeObject<List<List<optionItem>>>(data); obj = GetClozeList(data,isNoAnswer);
break; break;
//阅读理解 //阅读理解
case "reading-comprehensio": case "reading-comprehensio":
...@@ -199,27 +92,27 @@ namespace Edu.Module.Question ...@@ -199,27 +92,27 @@ namespace Edu.Module.Question
{ {
//单选题 //单选题
case "single": case "single":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(), 0, isNoAnswer);
break; break;
//多选题 //多选题
case "multiple": case "multiple":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(), 0, isNoAnswer);
break; break;
//填空题 //填空题
case "fill-in": case "fill-in":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetFillInList(item.SubAnwser.ToString(), isNoAnswer);
break; break;
//判断题 //判断题
case "judge": case "judge":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetJudgeList(item.SubAnwser.ToString(), isNoAnswer);
break; break;
//简答题 //简答题
case "short-answer": case "short-answer":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetShortAnswer(item.SubAnwser.ToString(), isNoAnswer);
break; break;
//单选题(数字) //单选题(数字)
case "single-number": case "single-number":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(), 0, isNoAnswer);
break; break;
} }
} }
...@@ -241,23 +134,27 @@ namespace Edu.Module.Question ...@@ -241,23 +134,27 @@ namespace Edu.Module.Question
{ {
//单选题 //单选题
case "single": case "single":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(),0, isNoAnswer);
break; break;
//多选题 //多选题
case "multiple": case "multiple":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(), 0, isNoAnswer);
break; break;
//填空题 //填空题
case "fill-in": case "fill-in":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetFillInList(item.SubAnwser.ToString(), isNoAnswer);
break; break;
//判断题 //判断题
case "judge": case "judge":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetJudgeList(item.SubAnwser.ToString(), isNoAnswer);
break; break;
//简答题 //简答题
case "short-answer": case "short-answer":
item.SubAnwser = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(item.SubAnwser.ToString()); item.SubAnwser = GetShortAnswer(item.SubAnwser.ToString(), isNoAnswer);
break;
//单选题(数字)
case "single-number":
item.SubAnwser = GetChooseOptionList(item.SubAnwser.ToString(), 0, isNoAnswer);
break; break;
} }
} }
...@@ -281,23 +178,203 @@ namespace Edu.Module.Question ...@@ -281,23 +178,203 @@ namespace Edu.Module.Question
break; break;
//单选题(数字) //单选题(数字)
case "single-number": case "single-number":
try obj = GetChooseOptionList(data, isOptionRandom, isNoAnswer,isSingleNum:true);
break;
}
return obj;
}
/// <summary>
/// 获取选择题选项
/// </summary>
/// <param name="data"></param>
/// <param name="isOptionRandom"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetChooseOptionList(string data,int isOptionRandom,bool isNoAnswer,bool isSingleNum=false)
{
var obj = new object();
var singleList = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data);
var newList = new List<optionItem>();
singleList.ForEach(item =>
{
item.ShowName = item.Name;
});
//选项随机
if (isOptionRandom == 1)
{
var tempList = singleList.OrderBy(qitem => Guid.NewGuid()).ToList();
for (var i = 0; i < tempList.Count; i++)
{
var item = new optionItem()
{ {
if (!string.IsNullOrEmpty(data)) Name = isSingleNum ? (i + 1).ToString() : tempList[i].Name,
{ ShowName = tempList[i].ShowName,
obj = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data); Content = tempList[i].Content,
} IsAnswer = tempList[i].IsAnswer
} };
catch (Exception ex) item.ShowName = LetterArray[i];
newList.Add(item);
}
}
//去掉答案
if (isNoAnswer)
{
singleList.ForEach(item =>
{
item.IsAnswer = false;
});
newList.ForEach(item =>
{
item.IsAnswer = false;
});
}
if (isOptionRandom == 1)
{
obj = newList;
}
else
{
obj = singleList;
}
return obj;
}
/// <summary>
/// 获取填空题填空列表
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetFillInList(string data, bool isNoAnswer)
{
var obj = new object();
if (!string.IsNullOrEmpty(data))
{
var fillInList = Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(data);
if (isNoAnswer)
{
fillInList.ForEach(item =>
{ {
string str = ex.Message; item.Content = "";
} });
break; }
obj = fillInList;
}
else
{
obj = null;
} }
return obj; return obj;
} }
/// <summary>
/// 获取判断题选项列表
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetJudgeList(string data, bool isNoAnswer)
{
var judgeList = Common.Plugin.JsonHelper.DeserializeObject<List<optionItem>>(data);
if (isNoAnswer)
{
judgeList.ForEach(item =>
{
item.IsAnswer = false;
});
}
return judgeList;
}
/// <summary>
/// 获取连线题列表
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetMatchingList(string data, bool isNoAnswer)
{
var matchingList = Common.Plugin.JsonHelper.DeserializeObject<List<List<matchingItem>>>(data);
if (isNoAnswer)
{
if (matchingList != null && matchingList.Count > 2)
{
matchingList[2].ForEach(item =>
{
item.Content = "";
});
}
}
return matchingList;
}
/// <summary>
/// 获取排序题列表
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetSortingProblemList(string data, bool isNoAnswer)
{
var sortingProblemList = Common.Plugin.JsonHelper.DeserializeObject<List<List<matchingItem>>>(data);
if (isNoAnswer)
{
if (sortingProblemList != null && sortingProblemList.Count > 1)
{
sortingProblemList[1].ForEach(item =>
{
item.Name = "";
});
}
}
return sortingProblemList;
}
/// <summary>
/// 完型填空选项列表
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetClozeList(string data, bool isNoAnswer)
{
var clozeList = Common.Plugin.JsonHelper.DeserializeObject<List<List<optionItem>>>(data);
if (isNoAnswer)
{
if (clozeList != null && clozeList.Count > 0)
{
clozeList.ForEach(item =>
{
item.ForEach(subItem =>
{
subItem.IsAnswer = false;
});
});
}
}
return clozeList;
}
/// <summary>
/// 获取阅读理解、听力题简答题
/// </summary>
/// <param name="data"></param>
/// <param name="isNoAnswer"></param>
/// <returns></returns>
private object GetShortAnswer(string data, bool isNoAnswer)
{
var shortAnswerList= Common.Plugin.JsonHelper.DeserializeObject<List<fillInItem>>(data);
if (isNoAnswer)
{
shortAnswerList.ForEach(item =>
{
item.Content = "";
});
}
return shortAnswerList;
}
/// <summary> /// <summary>
/// 问题验证 /// 问题验证
/// </summary> /// </summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment