Example #1
0
        public Question Create()
        {
            switch (Type)
            {
            case (int)QuestionType.QT_Single:
                List <Answer> answers1 = new List <Answer>();
                foreach (GAnswer answer in this.GAnswer)
                {
                    answers1.Add(answer.Create());
                }
                QuestionSingle question1 = new QuestionSingle(Text, answers1);
                return(question1);

            case (int)QuestionType.QT_Multiple:
                List <Answer> answers2 = new List <Answer>();
                foreach (GAnswer answer in this.GAnswer)
                {
                    answers2.Add(answer.Create());
                }
                QuestionMultiple question2 = new QuestionMultiple(Text, answers2);
                return(question2);

            case (int)QuestionType.QT_Free:
                Answer answer3 = default(Answer);
                foreach (GAnswer answer in this.GAnswer)
                {
                    answer3 = answer.Create();
                }
                QuestionFree question3 = new QuestionFree(Text, answer3);
                return(question3);

            default:
                throw new NotImplementedException();
            }
        }
Example #2
0
        /// <summary>
        /// 试题上传
        /// </summary>
        /// <returns></returns>
        private bool uploadQuestion()
        {
            string mediaUrl = txtFile.Text;
            string usern    = txtUserName.Text;
            string pass     = txtPassword.Text;

            string  sql = "select * from tbl_Question_Single";
            DataSet ds  = db.ReturnDataSet(sql);

            if (ds.Tables[0].Rows.Count > 0)
            {
                QuestionSingle[]     questionSingles = new QuestionSingle[1];
                YYTestApi            yyTestApi       = (YYTestApi)XmlRpcProxyGen.Create(typeof(YYTestApi));
                XmlRpcClientProtocol clientProtocol  = (XmlRpcClientProtocol)yyTestApi;
                clientProtocol.XmlEncoding = System.Text.Encoding.UTF8;
                clientProtocol.Url         = mediaUrl;
                bool result = true;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    questionSingles[0]            = new QuestionSingle();
                    questionSingles[0].id         = Convert.ToInt32(ds.Tables[0].Rows[i]["id"]);
                    questionSingles[0].Content    = ds.Tables[0].Rows[i]["Content"].ToString();
                    questionSingles[0].SelectionA = ds.Tables[0].Rows[i]["SelectionA"].ToString();
                    questionSingles[0].SelectionB = ds.Tables[0].Rows[i]["SelectionB"].ToString();
                    questionSingles[0].SelectionC = ds.Tables[0].Rows[i]["SelectionC"].ToString();
                    questionSingles[0].SelectionD = ds.Tables[0].Rows[i]["SelectionD"].ToString();
                    questionSingles[0].Answer     = ds.Tables[0].Rows[i]["Answer"].ToString();
                    questionSingles[0].Hardness   = ds.Tables[0].Rows[i]["Hardness"].ToString();
                    questionSingles[0].Score      = Convert.ToInt32(ds.Tables[0].Rows[i]["Score"]);
                    result = result && yyTestApi.setQuestionSingles(usern, pass, questionSingles);
                }
                if (!result)
                {
                    lblProgressInfor.Text = "试题上传失败!";
                    //MessageBox.Show("试题上传失败!");
                }
                else
                {
                    lblProgressInfor.Text = "试题上传成功!";
                    //MessageBox.Show("试题上传成功!");
                }
            }

            return(true);
        }