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(); } }
/// <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); }