protected void btnInput_Click(object sender, EventArgs e)
        {
            if (lbType.SelectedIndex < 0)
            {
                SessionSet.PageMessage = "请先选题型!";
                return;
            }

            string strId = Request.QueryString.Get("id");

            PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();
            PaperStrategySubject    paperStrategySubject    = new PaperStrategySubject();

            paperStrategySubject.PaperStrategyId        = int.Parse(strId);
            paperStrategySubject.PaperStrategySubjectId = Grid1.Rows.Count + 1;
            paperStrategySubject.ItemTypeId             = int.Parse(lbType.SelectedValue);
            paperStrategySubject.TypeName    = lbType.SelectedItem.Text;
            paperStrategySubject.SubjectName = lbType.SelectedItem.Text;
            paperStrategySubject.UnitScore   = 0;
            paperStrategySubject.TotalScore  = 0;
            paperStrategySubject.Memo        = "";
            paperStrategySubject.ItemCount   = 0;
            paperStrategySubject.OrderIndex  = 0;
            paperStrategySubject.Remark      = "";

            paperStrategySubjectBLL.AddPaperStrategySubject(paperStrategySubject);

            Grid1.DataBind();
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string strID = Request.QueryString.Get("id");
                ViewState["mode"] = Request.QueryString.Get("mode");
                if (ViewState["mode"].ToString() == "Insert")
                {
                    if (!string.IsNullOrEmpty(strID))
                    {
                        PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();
                        PaperStrategySubject    paperStrategySubject    = paperStrategySubjectBLL.GetPaperStrategySubject(int.Parse(strID));

                        if (paperStrategySubject != null)
                        {
                            txtSubjectName.Text   = paperStrategySubject.SubjectName;
                            txtScore.Text         = paperStrategySubject.UnitScore.ToString();
                            ddlType.SelectedValue = paperStrategySubject.ItemTypeId.ToString();
                            labelTotalCount.Text  = paperStrategySubject.ItemCount.ToString();
                        }

                        hfSubjectId.Value = strID;
                    }
                }
                else
                {
                    FillPage(int.Parse(strID));
                }
            }
        }
예제 #3
0
        private void FillPage(int nID)
        {
            PaperStrategyBookChapterBLL paperStrategyBookChapterBLL = new PaperStrategyBookChapterBLL();

            PaperStrategyBookChapter paperStrategyBookChapter = paperStrategyBookChapterBLL.GetPaperStrategyBookChapter(nID);

            if (paperStrategyBookChapter != null)
            {
                txtMemo.Text            = paperStrategyBookChapter.Memo;
                txtChapterName.Text     = paperStrategyBookChapter.RangeName;
                HfRangeName.Value       = paperStrategyBookChapter.RangeName;
                txtSubjectName.Text     = paperStrategyBookChapter.SubjectName;
                txtExCludeChapters.Text = paperStrategyBookChapter.ExcludeChapterId;

                if (string.IsNullOrEmpty(paperStrategyBookChapter.ExcludeChapterId) == false)
                {
                    FillExcludeCategorysID(paperStrategyBookChapter.ExcludeChapterId);
                }
                txtNd1.Text           = paperStrategyBookChapter.ItemDifficulty1Count.ToString();
                txtNd2.Text           = paperStrategyBookChapter.ItemDifficulty2Count.ToString();
                txtNd3.Text           = paperStrategyBookChapter.ItemDifficulty3Count.ToString();
                txtNd4.Text           = paperStrategyBookChapter.ItemDifficulty4Count.ToString();
                txtNd5.Text           = paperStrategyBookChapter.ItemDifficulty5Count.ToString();
                txtNDR.Text           = paperStrategyBookChapter.ItemDifficultyRandomCount.ToString();
                txtScore.Text         = paperStrategyBookChapter.UnitScore.ToString();
                txtSeconds.Text       = paperStrategyBookChapter.UnitLimitTime.ToString();
                hfSubjectId.Value     = paperStrategyBookChapter.StrategySubjectId.ToString();
                HfRangeType.Value     = paperStrategyBookChapter.RangeType.ToString();
                HfChapterId.Value     = paperStrategyBookChapter.RangeId.ToString();
                ddlType.SelectedValue = paperStrategyBookChapter.ItemTypeId.ToString();

                PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();
                PaperStrategySubject    paperStrategySubject    = paperStrategySubjectBLL.GetPaperStrategySubject(int.Parse(hfSubjectId.Value));

                if (paperStrategySubject != null)
                {
                    labelTotalCount.Text = paperStrategySubject.ItemCount.ToString();
                }
            }

            if (ViewState["mode"].ToString() == "ReadOnly")
            {
                SaveButton.Visible   = false;
                CancelButton.Visible = true;

                ddlType.Enabled    = false;
                txtNDR.Enabled     = false;
                txtNd1.Enabled     = false;
                txtNd2.Enabled     = false;
                txtNd3.Enabled     = false;
                txtNd4.Enabled     = false;
                txtNd5.Enabled     = false;
                txtSeconds.Enabled = false;
                txtMemo.Enabled    = false;
            }
        }
예제 #4
0
        private void FillPage(int nID)
        {
            PaperStrategyItemCategoryBLL paperStrategyItemCategoryBLL = new PaperStrategyItemCategoryBLL();

            PaperStrategyItemCategory paperStrategyItemCategory = paperStrategyItemCategoryBLL.GetPaperStrategyItemCategory(nID);

            if (paperStrategyItemCategory != null)
            {
                if (paperStrategyItemCategory.ExcludeCategorysId != null)
                {
                    FillExcludeCategorysID(paperStrategyItemCategory.ExcludeCategorysId);
                }

                txtMemo.Text                   = paperStrategyItemCategory.Memo;
                txtItemCategoryName.Text       = paperStrategyItemCategory.CategoryName;
                txtSubjectName.Text            = paperStrategyItemCategory.SubjectName;
                hfExCludeItemCategoryIDS.Value = paperStrategyItemCategory.ExcludeCategorysId;
                txtNd1.Text       = paperStrategyItemCategory.ItemDifficulty1Count.ToString();
                txtNd2.Text       = paperStrategyItemCategory.ItemDifficulty2Count.ToString();
                txtNd3.Text       = paperStrategyItemCategory.ItemDifficulty3Count.ToString();
                txtNd4.Text       = paperStrategyItemCategory.ItemDifficulty4Count.ToString();
                txtNd5.Text       = paperStrategyItemCategory.ItemDifficulty5Count.ToString();
                txtNDR.Text       = paperStrategyItemCategory.ItemDifficultyRandomCount.ToString();
                txtScore.Text     = paperStrategyItemCategory.UnitScore.ToString();
                txtSeconds.Text   = paperStrategyItemCategory.UnitLimitTime.ToString();
                hfSubjectId.Value = paperStrategyItemCategory.StrategySubjectId.ToString();

                hfItemCategoryID.Value = paperStrategyItemCategory.ItemCategoryId.ToString();
                ddlType.SelectedValue  = paperStrategyItemCategory.ItemTypeId.ToString();

                PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();
                PaperStrategySubject    paperStrategySubject    = paperStrategySubjectBLL.GetPaperStrategySubject(int.Parse(hfSubjectId.Value));

                if (paperStrategySubject != null)
                {
                    labelTotalCount.Text = paperStrategySubject.ItemCount.ToString();
                }
            }

            if (ViewState["mode"].ToString() == "ReadOnly")
            {
                SaveButton.Visible   = false;
                CancelButton.Visible = true;

                ddlType.Enabled    = false;
                txtNDR.Enabled     = false;
                txtNd1.Enabled     = false;
                txtNd2.Enabled     = false;
                txtNd3.Enabled     = false;
                txtNd4.Enabled     = false;
                txtNd5.Enabled     = false;
                txtSeconds.Enabled = false;
                txtMemo.Enabled    = false;
            }
        }
        protected void btnSaveAs_Click(object sender, EventArgs e)
        {
            int    totalScore = 0;
            string strId      = Request.QueryString.Get("id");
            IList <PaperStrategySubject> paperStrategySubjects = new List <PaperStrategySubject>();

            for (int i = 0; i < Grid1.Rows.Count; i++)
            {
                string strPaperStrategySubjectId = ((HiddenField)Grid1.Rows[i].FindControl("hfPaperStrategySubjectId")).Value;
                string strItemTypeId             = ((HiddenField)Grid1.Rows[i].FindControl("hfItemTypeId")).Value;
                string strSubjectName            = ((TextBox)Grid1.Rows[i].FindControl("txtSubjectName")).Text;
                string strUnitScore = ((TextBox)Grid1.Rows[i].FindControl("txtUnitScore")).Text;
                string strItemCount = ((TextBox)Grid1.Rows[i].FindControl("txtItemCount")).Text;

                if (strUnitScore == "")
                {
                    strUnitScore = "0";
                }

                if (strItemCount == "")
                {
                    strItemCount = "0";
                }

                totalScore += int.Parse(strUnitScore);

                PaperStrategySubject paperStrategySubject = new PaperStrategySubject();

                paperStrategySubject.PaperStrategySubjectId = int.Parse(strPaperStrategySubjectId);
                paperStrategySubject.PaperStrategyId        = int.Parse(strId);
                paperStrategySubject.ItemCount   = int.Parse(strItemCount);
                paperStrategySubject.ItemTypeId  = int.Parse(strItemTypeId);
                paperStrategySubject.OrderIndex  = 0;
                paperStrategySubject.Remark      = "";
                paperStrategySubject.SubjectName = strSubjectName;
                paperStrategySubject.UnitScore   = int.Parse(strUnitScore);
                paperStrategySubject.TotalScore  = int.Parse(strUnitScore);
                paperStrategySubject.Memo        = "";

                paperStrategySubjects.Add(paperStrategySubject);
            }

            PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();

            paperStrategySubjectBLL.UpdatePaperStrategySubject(int.Parse(strId), totalScore, paperStrategySubjects);

            Grid1.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["mode"] = Request.QueryString.Get("mode");

                hfMode.Value = ViewState["mode"].ToString();

                if (ViewState["mode"].ToString() == "ReadOnly")
                {
                    btnSaveAs.Visible = false;
                    btnInput.Enabled  = false;
                }

                string strId      = Request.QueryString.Get("id");
                string strPaperID = Request.QueryString.Get("Paperid");
                if (!string.IsNullOrEmpty(strPaperID))
                {
                    HfstrategyID.Value = strId;
                    Hfpaperid.Value    = strPaperID;
                }

                PaperStrategyBLL             paperStrategyBLL = new PaperStrategyBLL();
                RailExam.Model.PaperStrategy paperStrategy    = paperStrategyBLL.GetPaperStrategy(int.Parse(strId));
                if (paperStrategy != null)
                {
                    txtPaperName.Text = paperStrategy.PaperStrategyName;
                }

                Grid1.DataBind();
            }
            else
            {
                string strDeleteID = Request.Form.Get("DeleteID");
                if (!string.IsNullOrEmpty(strDeleteID))
                {
                    int nID = Int32.Parse(strDeleteID);

                    PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();
                    paperStrategySubjectBLL.DeletePaperStrategySubject(nID);

                    Grid1.DataBind();
                }
            }
        }
        protected void btnSaveAndNext_Click(object sender, EventArgs e)
        {
            string strId   = Request.QueryString.Get("id");
            string strMode = ViewState["mode"].ToString();

            if (strMode != "ReadOnly")
            {
                if (Grid1.Rows.Count == 0)
                {
                    SessionSet.PageMessage = "请选择大题!";
                    return;
                }

                int totalScore = 0;

                IList <PaperStrategySubject> paperStrategySubjects = new List <PaperStrategySubject>();

                for (int i = 0; i < Grid1.Rows.Count; i++)
                {
                    string strPaperStrategySubjectId = ((HiddenField)Grid1.Rows[i].FindControl("hfPaperStrategySubjectId")).Value;
                    string strItemTypeId             = ((HiddenField)Grid1.Rows[i].FindControl("hfItemTypeId")).Value;
                    string strSubjectName            = ((TextBox)Grid1.Rows[i].FindControl("txtSubjectName")).Text;
                    string strUnitScore = ((TextBox)Grid1.Rows[i].FindControl("txtUnitScore")).Text;
                    string strItemCount = ((TextBox)Grid1.Rows[i].FindControl("txtItemCount")).Text;

                    if (strUnitScore == "")
                    {
                        strUnitScore = "0";
                    }

                    if (strItemCount == "")
                    {
                        strItemCount = "0";
                    }


                    totalScore += int.Parse(strUnitScore);

                    PaperStrategySubject paperStrategySubject = new PaperStrategySubject();

                    paperStrategySubject.PaperStrategySubjectId = int.Parse(strPaperStrategySubjectId);
                    paperStrategySubject.PaperStrategyId        = int.Parse(strId);
                    paperStrategySubject.ItemCount   = int.Parse(strItemCount);
                    paperStrategySubject.ItemTypeId  = int.Parse(strItemTypeId);
                    paperStrategySubject.OrderIndex  = 0;
                    paperStrategySubject.Remark      = "";
                    paperStrategySubject.SubjectName = strSubjectName;
                    paperStrategySubject.UnitScore   = int.Parse(strUnitScore);
                    paperStrategySubject.TotalScore  = int.Parse(strUnitScore);
                    paperStrategySubject.Memo        = "";

                    paperStrategySubjects.Add(paperStrategySubject);
                }

                PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();

                paperStrategySubjectBLL.UpdatePaperStrategySubject(int.Parse(strId), totalScore, paperStrategySubjects);
            }

            PaperStrategyBLL paperStrategyBLL = new PaperStrategyBLL();

            RailExam.Model.PaperStrategy paperStrategy = paperStrategyBLL.GetPaperStrategy(int.Parse(strId));

            if (paperStrategy.StrategyMode == 2)   //按教材

            {
                string strPaperID = Request.QueryString.Get("Paperid");
                if (!string.IsNullOrEmpty(strPaperID))
                {
                    Response.Redirect("PaperStrategyEditThird.aspx?mode=" + strMode + "&id=" + strId + "&Paperid=" + strPaperID);
                }
                else
                {
                    Response.Redirect("PaperStrategyEditThird.aspx?mode=" + strMode + "&id=" + strId);
                }
            }
            if (paperStrategy.StrategyMode == 3)   //按试题辅助分类

            {
                string strPaperID = Request.QueryString.Get("Paperid");
                if (!string.IsNullOrEmpty(strPaperID))
                {
                    Response.Redirect("PaperStrategyItemThird.aspx?mode=" + strMode + "&id=" + strId + "&Paperid=" + strPaperID);
                }
                else
                {
                    Response.Redirect("PaperStrategyItemThird.aspx?mode=" + strMode + "&id=" + strId);
                }
            }
        }
예제 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string strPaperID = Request.QueryString.Get("Paperid");

            if (!string.IsNullOrEmpty(strPaperID))
            {
                this.btnPreview.Attributes.Add("onclick", "ManagePaper(" + strPaperID + ");");
            }


            if (!IsPostBack)
            {
                ViewState["mode"] = Request.QueryString.Get("mode");
                if (ViewState["mode"].ToString() == "ReadOnly")
                {
                    NewButton.Visible = false;
                    btnSave.Visible   = false;
                    btnCancel.Visible = true;
                }

                string strId = Request.QueryString.Get("id");
                strPaperID = Request.QueryString.Get("Paperid");
                if (!string.IsNullOrEmpty(strPaperID))
                {
                    HfstrategyID.Value = strId;
                    Hfpaperid.Value    = strPaperID;
                }

                PaperStrategySubjectBLL      paperStrategySubjectBLL = new PaperStrategySubjectBLL();
                IList <PaperStrategySubject> paperStrategySubjects   = paperStrategySubjectBLL.GetPaperStrategySubjectByPaperStrategyId(int.Parse(strId));

                if (paperStrategySubjects != null)
                {
                    for (int i = 0; i < paperStrategySubjects.Count; i++)
                    {
                        int      j  = i + 1;
                        ListItem Li = new ListItem();
                        Li.Value = paperStrategySubjects[i].PaperStrategySubjectId.ToString();
                        Li.Text  = "第" + j + "题:  " + paperStrategySubjects[i].SubjectName;
                        lbType.Items.Add(Li);
                    }

                    lbType.SelectedIndex = 0;

                    ViewState["value"] = lbType.SelectedValue;
                }
            }

            string strFlag = Request.Form.Get("Flag");

            if (strFlag != null && strFlag == "1")
            {
                string strId = Request.QueryString.Get("id");
                if (!string.IsNullOrEmpty(strId))
                {
                    PaperStrategyBLL paperStrategyBLL = new PaperStrategyBLL();
                    paperStrategyBLL.DeletePaperStrategy(int.Parse(strId));
                    ViewState["DeleteFlag"] = 0;

                    if (ViewState["mode"].ToString() == "Insert")
                    {
                        ViewState["mode"] = "Edit";
                    }

                    Response.Redirect("PaperManageChooseItem.aspx?mode=" + ViewState["mode"].ToString() + "&id=" + Request.QueryString.Get("Paperid"));
                }
            }

            if (strFlag != null && strFlag == "0")
            {
                ViewState["DeleteFlag"] = 0;

                if (ViewState["mode"].ToString() == "Insert")
                {
                    ViewState["mode"] = "Edit";
                }

                PaperStrategyBLL             paperStrategyBLL = new PaperStrategyBLL();
                string                       strId            = Request.QueryString.Get("id");
                RailExam.Model.PaperStrategy ps = paperStrategyBLL.GetPaperStrategy(int.Parse(strId));
                ps.PaperStrategyName = HFStrategyName.Value;
                paperStrategyBLL.UpdatePaperStrategy(ps);

                Response.Redirect("PaperManageChooseItem.aspx?mode=" + ViewState["mode"].ToString() + "&id=" + Request.QueryString.Get("Paperid"));
            }
        }
예제 #9
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            PaperStrategyBookChapterBLL psbcBll = new PaperStrategyBookChapterBLL();
            int Ncount = psbcBll.GetBookChapterCount(int.Parse(Request.QueryString.Get("id")));

            if (Ncount == 0)
            {
                SessionSet.PageMessage = "请添加策略!";
                return;
            }

            string strPaperID = Request.QueryString.Get("Paperid");

            if (!string.IsNullOrEmpty(strPaperID))
            {
                int nStrategyId = int.Parse(Request.QueryString.Get("id"));
                int nPaperId    = int.Parse(strPaperID);

                PaperStrategyBLL paperStrategyBLL = new PaperStrategyBLL();

                RailExam.Model.PaperStrategy paperStrategy = paperStrategyBLL.GetPaperStrategy(nStrategyId);

                PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();

                IList <PaperStrategySubject> paperStrategySubjects = paperStrategySubjectBLL.GetPaperStrategySubjectByPaperStrategyId(nStrategyId);

                int nStrategyMode = paperStrategy.StrategyMode;

                for (int i = 0; i < paperStrategySubjects.Count; i++)
                {
                    //大题
                    PaperSubjectBLL paperSubjectBLL = new PaperSubjectBLL();

                    PaperSubject paperSubject = new PaperSubject();

                    paperSubject.ItemCount   = paperStrategySubjects[i].ItemCount;
                    paperSubject.ItemTypeId  = paperStrategySubjects[i].ItemTypeId;
                    paperSubject.Memo        = paperStrategySubjects[i].Memo;
                    paperSubject.OrderIndex  = paperStrategySubjects[i].OrderIndex;
                    paperSubject.PaperId     = nPaperId;
                    paperSubject.Remark      = paperStrategySubjects[i].Remark;
                    paperSubject.SubjectName = paperStrategySubjects[i].SubjectName;
                    paperSubject.TotalScore  = paperStrategySubjects[i].TotalScore;
                    paperSubject.UnitScore   = paperStrategySubjects[i].UnitScore;

                    decimal nUnitScore = paperSubject.UnitScore;

                    int nPaperSubjectId = paperSubjectBLL.AddPaperSubject(paperSubject);

                    ItemBLL itemBLL = new ItemBLL();

                    if (nStrategyMode == 2)  //教材章节模式
                    {
                        PaperStrategyBookChapterBLL paperStrategyBookChapterBLL = new PaperStrategyBookChapterBLL();

                        IList <PaperStrategyBookChapter> paperStrategyBookChapters = paperStrategyBookChapterBLL.GetItemsByPaperStrategySubjectID(paperStrategySubjects[i].PaperStrategySubjectId);

                        for (int k = 0; k < paperStrategyBookChapters.Count; k++)
                        {
                            //策略
                            int nChapterId  = paperStrategyBookChapters[k].RangeId;
                            int nRangeType  = paperStrategyBookChapters[k].RangeType;
                            int typeId      = paperStrategyBookChapters[k].ItemTypeId;
                            int nDifficultR = paperStrategyBookChapters[k].ItemDifficultyRandomCount;
                            //int nDifficulty1 = paperStrategyBookChapters[k].ItemDifficulty1Count;
                            //int nDifficulty2 = paperStrategyBookChapters[k].ItemDifficulty2Count;
                            //int nDifficulty3 = paperStrategyBookChapters[k].ItemDifficulty3Count;
                            //int nDifficulty4 = paperStrategyBookChapters[k].ItemDifficulty4Count;
                            //int nDifficulty5 = paperStrategyBookChapters[k].ItemDifficulty5Count;
                            decimal uScore        = paperStrategyBookChapters[k].UnitScore;
                            string  strExcludeIDs = paperStrategyBookChapters[k].ExcludeChapterId;

                            //难度1
                            //IList<RailExam.Model.Item> itemList = itemBLL.GetItemsByStrategy(nRangeType,1, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficulty1, nPaperId, nPaperSubjectId, nUnitScore);

                            ////难度2
                            //itemList = itemBLL.GetItemsByStrategy(nRangeType,2, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficulty2, nPaperId, nPaperSubjectId, nUnitScore);

                            ////难度3
                            //itemList = itemBLL.GetItemsByStrategy(nRangeType,3, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficulty3, nPaperId, nPaperSubjectId, nUnitScore);

                            ////难度4
                            //itemList = itemBLL.GetItemsByStrategy(nRangeType,4, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficulty4, nPaperId, nPaperSubjectId, nUnitScore);

                            ////难度5
                            //itemList = itemBLL.GetItemsByStrategy(nRangeType,5, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficulty5, nPaperId, nPaperSubjectId, nUnitScore);

                            //随机难度

                            Random ObjRandom = new Random();

                            int ndr = ObjRandom.Next(1, 5);

                            //IList<RailExam.Model.Item>  itemList = itemBLL.GetItemsByStrategy(nRangeType, ndr, nChapterId, typeId, strExcludeIDs);

                            //SavePaperItem(itemList, nDifficultR, nPaperId, nPaperSubjectId, nUnitScore);
                        }
                    }
                }
                int     itemCount  = 0;
                decimal totalScore = 0;

                PaperItemBLL paperBLL = new PaperItemBLL();
                IList <RailExam.Model.PaperItem> PaperItems = paperBLL.GetItemsByPaperId(nPaperId);

                if (PaperItems.Count > 0)
                {
                    itemCount  = PaperItems.Count;
                    totalScore = PaperItems[0].Score * PaperItems.Count;
                }


                btnPreview.Visible      = true;
                this.btnedit.Visible    = true;
                this.btnSave.Visible    = false;
                NewButton.Visible       = false;
                btnLast.Visible         = false;
                SessionSet.PageMessage  = "随机生成试卷共" + itemCount + "题," + totalScore + "分,如果试卷题数不等于设定的总题数请手工进行修改!";
                ViewState["DeleteFlag"] = 1;
            }
            else
            {
                Response.Write("<script>top.window.opener.form1.Refresh.value='true';top.window.opener.form1.submit();top.window.close();</script>");
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            int nStrategyId = int.Parse(hfStrategyId.Value);
            int nPaperId    = int.Parse(Request.QueryString.Get("id"));

            PaperStrategyBLL paperStrategyBLL = new PaperStrategyBLL();

            RailExam.Model.PaperStrategy paperStrategy = paperStrategyBLL.GetPaperStrategy(nStrategyId);

            PaperStrategySubjectBLL paperStrategySubjectBLL = new PaperStrategySubjectBLL();

            IList <PaperStrategySubject> paperStrategySubjects = paperStrategySubjectBLL.GetPaperStrategySubjectByPaperStrategyId(nStrategyId);

            int nStrategyMode = paperStrategy.StrategyMode;

            txtStrategyName.Text = paperStrategy.PaperStrategyName;

            for (int i = 0; i < paperStrategySubjects.Count; i++)
            {
                //大题
                PaperSubjectBLL paperSubjectBLL = new PaperSubjectBLL();

                PaperSubject paperSubject = new PaperSubject();

                paperSubject.ItemCount   = paperStrategySubjects[i].ItemCount;
                paperSubject.ItemTypeId  = paperStrategySubjects[i].ItemTypeId;
                paperSubject.Memo        = paperStrategySubjects[i].Memo;
                paperSubject.OrderIndex  = paperStrategySubjects[i].OrderIndex;
                paperSubject.PaperId     = nPaperId;
                paperSubject.Remark      = paperStrategySubjects[i].Remark;
                paperSubject.SubjectName = paperStrategySubjects[i].SubjectName;
                paperSubject.TotalScore  = paperStrategySubjects[i].TotalScore;
                paperSubject.UnitScore   = paperStrategySubjects[i].UnitScore;

                decimal nUnitScore = paperSubject.UnitScore;

                int nPaperSubjectId = paperSubjectBLL.AddPaperSubject(paperSubject);

                ItemBLL itemBLL = new ItemBLL();

                if (nStrategyMode == 2)  //教材章节模式
                {
                    PaperStrategyBookChapterBLL paperStrategyBookChapterBLL = new PaperStrategyBookChapterBLL();

                    IList <PaperStrategyBookChapter> paperStrategyBookChapters = paperStrategyBookChapterBLL.GetItemsByPaperStrategySubjectID(paperStrategySubjects[i].PaperStrategySubjectId);

                    for (int k = 0; k < paperStrategyBookChapters.Count; k++)
                    {
                        //策略
                        int nChapterId  = paperStrategyBookChapters[k].RangeId;
                        int typeId      = paperStrategyBookChapters[k].ItemTypeId;
                        int nRangeType  = paperStrategyBookChapters[k].RangeType;
                        int nDifficultR = paperStrategyBookChapters[k].ItemDifficultyRandomCount;
                        //int nDifficulty1 = paperStrategyBookChapters[k].ItemDifficulty1Count;
                        //int nDifficulty2 = paperStrategyBookChapters[k].ItemDifficulty2Count;
                        //int nDifficulty3 = paperStrategyBookChapters[k].ItemDifficulty3Count;
                        //int nDifficulty4 = paperStrategyBookChapters[k].ItemDifficulty4Count;
                        //int nDifficulty5 = paperStrategyBookChapters[k].ItemDifficulty5Count;
                        decimal uScore        = paperStrategyBookChapters[k].UnitScore;
                        string  strExcludeIDs = paperStrategyBookChapters[k].ExcludeChapterId;

                        ////难度1
                        //IList<RailExam.Model.Item> itemList = itemBLL.GetItemsByStrategy(nRangeType, 1, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty1, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度2
                        //itemList = itemBLL.GetItemsByStrategy(nRangeType, 2, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty2, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度3
                        //itemList = itemBLL.GetItemsByStrategy(nRangeType, 3, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty3, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度4
                        //itemList = itemBLL.GetItemsByStrategy(nRangeType, 4, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty4, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度5
                        //itemList = itemBLL.GetItemsByStrategy(nRangeType, 5, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty5, nPaperId, nPaperSubjectId, nUnitScore);

                        //随机难度

                        Random ObjRandom = new Random();

                        int ndr = ObjRandom.Next(1, 5);

                        //IList<RailExam.Model.Item> itemList = itemBLL.GetItemsByStrategy(nRangeType, ndr, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficultR, nPaperId, nPaperSubjectId, nUnitScore);
                    }
                }
                else    //试题辅助分类模式
                {
                    PaperStrategyItemCategoryBLL paperStrategyItemCategoryBLL = new PaperStrategyItemCategoryBLL();

                    IList <PaperStrategyItemCategory> paperStrategyItemCategorys = paperStrategyItemCategoryBLL.GetItemsByPaperSubjectId(paperStrategySubjects[i].PaperStrategySubjectId);

                    for (int k = 0; k < paperStrategyItemCategorys.Count; k++)
                    {
                        //策略
                        int nChapterId  = paperStrategyItemCategorys[k].ItemCategoryId;
                        int typeId      = paperStrategyItemCategorys[k].ItemTypeId;
                        int nDifficultR = paperStrategyItemCategorys[k].ItemDifficultyRandomCount;
                        //int nDifficulty1 = paperStrategyItemCategorys[k].ItemDifficulty1Count;
                        //int nDifficulty2 = paperStrategyItemCategorys[k].ItemDifficulty2Count;
                        //int nDifficulty3 = paperStrategyItemCategorys[k].ItemDifficulty3Count;
                        //int nDifficulty4 = paperStrategyItemCategorys[k].ItemDifficulty4Count;
                        //int nDifficulty5 = paperStrategyItemCategorys[k].ItemDifficulty5Count;
                        decimal uScore        = paperStrategyItemCategorys[k].UnitScore;
                        string  strExcludeIDs = paperStrategyItemCategorys[k].ExcludeCategorysId;

                        ////难度1
                        //IList<RailExam.Model.Item> itemList = itemBLL.GetItemsByStrategyItem(1, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty1, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度2
                        //itemList = itemBLL.GetItemsByStrategyItem(2, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty2, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度3
                        //itemList = itemBLL.GetItemsByStrategyItem(3, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty3, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度4
                        //itemList = itemBLL.GetItemsByStrategyItem(4, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty4, nPaperId, nPaperSubjectId, nUnitScore);

                        ////难度5
                        //itemList = itemBLL.GetItemsByStrategyItem(5, nChapterId, typeId, strExcludeIDs);

                        //SavePaperItem(itemList, nDifficulty5, nPaperId, nPaperSubjectId, nUnitScore);

                        //随机难度

                        Random ObjRandom = new Random();

                        int ndr = ObjRandom.Next(1, 5);

                        IList <RailExam.Model.Item> itemList = itemBLL.GetItemsByStrategyItem(ndr, nChapterId, typeId, strExcludeIDs);

                        SavePaperItem(itemList, nDifficultR, nPaperId, nPaperSubjectId, nUnitScore);
                    }
                }
            }

            int     itemCount  = 0;
            decimal totalScore = 0;

            PaperItemBLL paperBLL = new PaperItemBLL();
            IList <RailExam.Model.PaperItem> PaperItems = paperBLL.GetItemsByPaperId(nPaperId);

            if (PaperItems.Count > 0)
            {
                itemCount  = PaperItems.Count;
                totalScore = PaperItems[0].Score * PaperItems.Count;
            }

            SessionSet.PageMessage = "随机生成试卷共" + itemCount + "题," + totalScore + "分,如果试卷题数不等于设定的总题数请手工进行修改!";
            this.btnSave.Visible   = false;
            this.btnLast.Visible   = false;
            btnPreview.Visible     = true;
            btnEdit.Visible        = true;
        }