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 积分,解读结果公开显示在下面。

还没有人解读过这个文件。