Song.Site/Ajax/TestPaper.ashx.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeiSha.Common;
using Song.ServiceInterfaces;
namespace Song.Site.Ajax
{
/// <summary>
/// 获取试卷的信息
/// </summary>
public class TestPaper : IHttpHandler
{
//试卷id,考试id,学员id
private int tpid = WeiSha.Common.Request.Form["tpid"].Int32 ?? 0;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//Song.Entities.TestPaper tp = Business.Do<ITestPaper>().PagerSingle(tpid);
context.Response.Write(randomJson());
context.Response.End();
}
/// <summary>
/// 随机出题
/// </summary>
/// <returns></returns>
private string randomJson()
{
//取果是第一次打开,则随机生成试题,此为获取试卷
Song.Entities.TestPaper tp = Business.Do<ITestPaper>().PagerSingle(tpid);
//难度区间
int diff1 = tp.Tp_Diff > tp.Tp_Diff2 ? (int)tp.Tp_Diff2 : (int)tp.Tp_Diff;
int diff2 = tp.Tp_Diff > tp.Tp_Diff2 ? (int)tp.Tp_Diff : (int)tp.Tp_Diff2;
//获取试题项
Song.Entities.TestPagerItem[] tpi = Business.Do<ITestPaper>().GetItem(tp.Tp_UID);
string json = "[";
for (int i = 0; i < tpi.Length; i++)
{
Song.Entities.TestPagerItem pi = tpi[i];
//类型,试题数目,该类型占多少分,
int type = (int)pi.TPI_Type;
int count = (int)pi.TPI_Count;
float num = (float)pi.TPI_Number;
if (count < 1) continue;
string quesObj = "{";
quesObj += "'type':" + type + ",'count':" + count + ",'number':" + num + ",";
//当前类型的试题
Song.Entities.Questions[] ques = Business.Do<IQuestions>().QuesRandom(type, (int)tp.Sbj_ID, -1, diff1, diff2, true, count);
ques = clacScore(ques, num);
quesObj += "'ques':[";
for (int n = 0; n < ques.Length; n++)
{
ques[n].Qus_Explain = "";
ques[n].Qus_Answer = "";
string js = ques[n].ToJson();
//如果是单选题,或多选题,或填空题
if (ques[n].Qus_Type == 1 || ques[n].Qus_Type == 2 || ques[n].Qus_Type == 5)
quesObj += getAnserJson(ques[n].Qus_UID, js);
else
后面还有 63 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
