Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }