Exemple #1
0
        public string GetTestToClient(int TID, int count)
        {
            DataSet ds = GetAllTest("");

            if (count > ds.Tables[0].Rows.Count)
            {
                return("[{\"ID\":0,\"Flag\":\"Error: 参数值超出试题表中的数量!\"}]");
            }

            List <int>      lsNo     = new List <int>();
            List <TChoiceT> lsChoice = new List <TChoiceT>();
            Random          rd;

            for (int i = 0; i < count; i++)
            {
                rd = new Random();
                int iNo = rd.Next(ds.Tables[0].Rows.Count + 1);
                if (lsNo.Contains(iNo) || iNo == 0)
                {
                    i--;
                    continue;
                }
                else
                {
                    TChoiceT tc = new TChoiceT();
                    try
                    {
                        tc.ID      = Convert.ToInt32(ds.Tables[0].Rows[iNo][0].ToString());
                        tc.Content = ds.Tables[0].Rows[iNo][1].ToString();
                        tc.AnswerA = ds.Tables[0].Rows[iNo][2].ToString();
                        tc.AnswerB = ds.Tables[0].Rows[iNo][3].ToString();
                        tc.AnswerC = ds.Tables[0].Rows[iNo][4].ToString();
                        tc.AnswerD = ds.Tables[0].Rows[iNo][5].ToString();
                    }
                    catch (Exception ex)
                    {
                        tc.Content = "Error:" + ex.Message;
                    }

                    lsChoice.Add(tc);
                    lsNo.Add(iNo);
                }
            }

            string strMsg = new UserTest_Operator().CreateTest(TID, 2, lsNo);

            if (!"OK".Equals(strMsg))
            {
                return("[{\"ID\":0,\"Flag\":" + strMsg + "\"}]");
            }

            JavaScriptSerializer js = new JavaScriptSerializer();

            return(js.Serialize(lsChoice));
        }
        public string GetTestToClient(int TID, int count)
        {
            DataSet ds = GetAllTest("");

            if (count > ds.Tables[0].Rows.Count)
            {
                return("[{\"ID\":0,\"Flag\":\"Error: 参数值超出试题表中的数量!\"}]");
            }

            List <int>        lsNo       = new List <int>();
            List <TJudgmentT> lsJudgment = new List <TJudgmentT>();
            Random            rd;

            for (int i = 0; i < count; i++)
            {
                rd = new Random();
                int iNo = rd.Next(ds.Tables[0].Rows.Count + 1);
                if (lsNo.Contains(iNo))
                {
                    i--;
                    continue;
                }
                else
                {
                    TJudgmentT tj = new TJudgmentT();
                    try
                    {
                        tj.ID      = Convert.ToInt32(ds.Tables[0].Rows[iNo][0].ToString());
                        tj.Content = ds.Tables[0].Rows[iNo][1].ToString();
                    }
                    catch (Exception ex)
                    {
                        tj.Content = "Error:" + ex.Message;
                    }

                    lsJudgment.Add(tj);
                    lsNo.Add(iNo);
                }
            }

            string strMsg = new UserTest_Operator().CreateTest(TID, 4, lsNo);

            if (!"OK".Equals(strMsg.Trim()))
            {
                return("[{\"ID\":0,\"Flag\":" + strMsg + "\"}]");
            }

            JavaScriptSerializer js = new JavaScriptSerializer();

            return(js.Serialize(lsJudgment));
        }