/// <summary> /// 按章节出题的型占比信息 /// </summary> /// <returns></returns> private string _buildXMLForOutlinePercent() { string xml = ""; double total = Convert.ToDouble(tbTotal.Text); //试卷总分 double surplus = total; //剩余分数,用于计算每项得分,因为百分乘于总分,总会有余数,最后一项为前几项的剩余分 for (int i = 0; i < this.rptOutlineScore.Items.Count; i++) { Song.Entities.TestPaperItem pi = new TestPaperItem(); //占多少分数比 TextBox tbScore = (TextBox)this.rptOutlineScore.Items[i].FindControl("tbQuesScore"); pi.TPI_Percent = Convert.ToInt32(tbScore.Text.Trim() == "" ? "0" : tbScore.Text); //占多少分 if (i < this.rptOutlineScore.Items.Count - 1) { pi.TPI_Number = (int)Math.Floor(pi.TPI_Percent * total / 100); surplus -= pi.TPI_Number; } else { pi.TPI_Number = (int)surplus; } pi.TPI_Type = i + 1; xml += pi.ToXML(); } return(xml); }
/// <summary> /// 按章节出题的配置信息 /// </summary> /// <returns></returns> private string _buildXMLForOutlineItem(out int quscount) { quscount = 0; string xml = ""; for (int i = 0; i < this.rptOutline.Items.Count; i++) { Label lbOlid = (Label)this.rptOutline.Items[i].FindControl("lbOlid"); //章节id //内嵌repeat,用于显示题型 Repeater rptItems = (Repeater)this.rptOutline.Items[i].FindControl("rtpOutlineItem"); for (int j = 0; j < rptItems.Items.Count; j++) { Song.Entities.TestPaperItem pi = new TestPaperItem(); pi.Ol_ID = Convert.ToInt32(lbOlid.Text); pi.TPI_Type = j + 1; TextBox tbCount = (TextBox)rptItems.Items[j].FindControl("tbQuesCount"); //当前题型占几道题 pi.TPI_Count = Convert.ToInt32(tbCount.Text.Trim() == "" ? "0" : tbCount.Text); quscount += pi.TPI_Count; xml += pi.ToXML(); } } return(xml); }
/// <summary> /// 返回按课程出题的配置信息 /// </summary> /// <returns></returns> private string _buildXMLForAll(out int quscount) { quscount = 0; string xml = ""; for (int i = 0; i < this.rptItemForAll.Items.Count; i++) { Song.Entities.TestPaperItem pi = new TestPaperItem(); //几道题 TextBox tbCount = (TextBox)this.rptItemForAll.Items[i].FindControl("tbItemCount"); //占多少分数比 TextBox tbScore = (TextBox)this.rptItemForAll.Items[i].FindControl("tbItemScore"); //占多少分 TextBox tbNumber = (TextBox)this.rptItemForAll.Items[i].FindControl("tbItemNumber"); pi.TPI_Count = Convert.ToInt32(tbCount.Text.Trim() == "" ? "0" : tbCount.Text); quscount += pi.TPI_Count; pi.TPI_Percent = Convert.ToInt32(tbScore.Text.Trim() == "" ? "0" : tbScore.Text); pi.TPI_Number = Convert.ToInt32(tbNumber.Text.Trim() == "" ? "0" : tbNumber.Text); pi.TPI_Type = i + 1; xml += pi.ToXML(); } return(xml); }