protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["ID"]            = Request.QueryString.Get("id");
                ViewState["TypeID"]        = Request.QueryString.Get("itemTypeID");
                ViewState["BookChapterID"] = Request.QueryString.Get("BookChapterID");
                ViewState["RangeType"]     = Request.QueryString.Get("RangeType");
                ViewState["ExamID"]        = Request.QueryString.Get("examId");
                ViewState["exculdeIDs"]    = Request.QueryString.Get("exculdeIDs");
                ViewState["subjectId"]     = Request.QueryString.Get("subjectId");

                HasExamId();
                ViewState["ChooseId"] = ViewState["HasExamId"].ToString();


                if (ViewState["RangeType"].ToString() == "4")
                {
                    BookChapterBLL bookChapterBll = new BookChapterBLL();
                    BookChapter    bookChapter    = bookChapterBll.GetBookChapter(Convert.ToInt32(ViewState["BookChapterID"]));
                    lblChapterName.Text = bookChapter.NamePath;
                }
                else
                {
                    BookBLL             bookBll = new BookBLL();
                    RailExam.Model.Book book    = bookBll.GetBook(Convert.ToInt32(ViewState["BookChapterID"]));
                    lblChapterName.Text = book.bookName;
                }

                ViewState["StartRow"] = 0;
                ViewState["EndRow"]   = Grid1.PageSize;

                ViewState["EmploySortField"] = "nlssort(a.Item_ID,'NLS_SORT=SCHINESE_PINYIN_M')";

                RecordCount = GetCount();
                //计算总页数(加上OverPage()函数防止有余数造成显示数据不完整)
                PageCount = RecordCount / Grid1.PageSize + OverPage();
                ViewState["RecordCount"] = RecordCount;
                //保存总页参数到ViewState(减去ModPage()函数防止SQL语句执行时溢出查询范围,可以用存储过程分页算法来理解这句)
                ViewState["PageCounts"] = RecordCount / Grid1.PageSize - ModPage();
                //保存一个为0的页面索引值到ViewState
                ViewState["PageIndex"] = 0;
                //保存PageCount到ViewState,跳页时判断用户输入数是否超出页码范围
                ViewState["JumpPages"] = PageCount;
                //显示LPageCount、LRecordCount的状态
                this.lbPageCount.Text   = PageCount.ToString();
                this.lbRecordCount.Text = RecordCount.ToString();
                //判断跳页文本框失效
                if (RecordCount <= Grid1.PageSize)
                {
                    btnJumpPage.Enabled = false;
                }
                else
                {
                    btnJumpPage.Enabled = true;
                }

                BindGrid(ViewState["EmploySortField"].ToString());
            }
        }
        //数据加载(新增进入)
        private void DataLoadForInsert(string bookID, string chapterID)
        {
            this.hfBookID.Value    = bookID;
            this.hfChapterID.Value = chapterID;

            string  chapterName = String.Empty;
            BookBLL bookBLL     = new BookBLL();

            RailExam.Model.Book book = bookBLL.GetBook(Int32.Parse(bookID));
            if (book != null)
            {
                chapterName += book.bookName;
            }
            BookChapterBLL chapterBLL = new BookChapterBLL();
            BookChapter    chapter    = chapterBLL.GetBookChapter(Int32.Parse(chapterID));

            if (chapter != null)
            {
                chapterName += " " + chapter.ChapterName;
            }
            this.lblchapter.Text      = chapterName;
            this.txtCreater.Text      = PrjPub.CurrentLoginUser.EmployeeName;
            this.dateCreate.DateValue = DateTime.Now.Date.ToShortDateString();
            this.dateOut.DateValue    = (new DateTime(2050, 1, 1)).Date.ToShortDateString();
        }
        private void SaveBookCover(string bookid)
        {
            string  strBookUrl = "../Book/" + bookid + "/cover.htm";
            BookBLL objBill    = new BookBLL();

            objBill.UpdateBookUrl(Convert.ToInt32(bookid), strBookUrl);

            string srcPath = "../Online/Book/" + bookid + "/cover.htm";

            RailExam.Model.Book obj = objBill.GetBook(Convert.ToInt32(bookid));

            if (File.Exists(Server.MapPath(srcPath)))
            {
                File.Delete(Server.MapPath(srcPath));
            }

            string str = "<link href='book.css' type='text/css' rel='stylesheet' />"
                         + "<body oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' oncopy='document.selection.empty()' onbeforecopy='return false'>"
                         + "<br><br><br><br><br><br><br>"
                         + "<div id='booktitle'>" + obj.bookName + "</div>" + "<br>"
                         + "<br><br><br><br><br><br><br><br><br><br><br>"
                         + "<div id='orgtitle'>" + obj.publishOrgName + "</div>" + "<br>"
                         + "<div id='authortitle'></div>"
                         + "</body>";

            File.AppendAllText(Server.MapPath(srcPath), str, System.Text.Encoding.UTF8);

            BookChapterBLL objChapterBll = new BookChapterBLL();

            objChapterBll.GetIndex(bookid);
        }
        protected void tvBookChapterChangeCallBack_Callback(object sender, CallBackEventArgs e)
        {
            BookChapterBLL objBookChapter = new BookChapterBLL();

            RailExam.Model.BookChapter obj = new RailExam.Model.BookChapter();
            obj = objBookChapter.GetBookChapterInfo(int.Parse(e.Parameters[0]));
            int cout = tvBookChapter.FindNodeById(obj.ParentId.ToString()).Nodes.Count;

            if (e.Parameters[1] == "MoveUp")
            {
                if (obj.OrderIndex <= cout && obj.OrderIndex >= 2)
                {
                    obj.OrderIndex--;
                    if (e.Parameters[2] == "Edit")
                    {
                        obj.IsEdit = true;
                    }
                    else
                    {
                        obj.IsEdit = false;
                    }
                    objBookChapter.UpdateBookChapter(obj);

                    obj = objBookChapter.GetBookChapter(int.Parse(tvBookChapter.FindNodeById(e.Parameters[0]).PreviousSibling.ID));
                    obj.OrderIndex++;
                    objBookChapter.UpdateBookChapter(obj);
                }
            }
            if (e.Parameters[1] == "MoveDown")
            {
                if (obj.OrderIndex <= cout - 1 && obj.OrderIndex >= 1)
                {
                    obj.OrderIndex++;
                    if (e.Parameters[2] == "Edit")
                    {
                        obj.IsEdit = true;
                    }
                    else
                    {
                        obj.IsEdit = false;
                    }
                    objBookChapter.UpdateBookChapter(obj);

                    obj = objBookChapter.GetBookChapter(int.Parse(tvBookChapter.FindNodeById(e.Parameters[0]).NextSibling.ID));
                    obj.OrderIndex--;
                    objBookChapter.UpdateBookChapter(obj);
                }
            }
            if (e.Parameters[1] == "Insert")
            {
                int maxID = objBookChapter.GetMaxChapterIDByBookID(Convert.ToInt32(hfBookID.Value));
                hfMaxID.Value = maxID.ToString();
                hfMaxID.RenderControl(e.Output);
            }

            tvBookChapter.Nodes.Clear();
            BindTree();
            tvBookChapter.RenderControl(e.Output);
        }
Exemple #5
0
        private void BindTree()
        {
            //添加书名
            BookBLL bookBLL = new BookBLL();

            RailExam.Model.Book book = bookBLL.GetBook(Convert.ToInt32(ViewState["BookID"].ToString()));

            TreeViewNode tvn1 = new TreeViewNode();

            tvn1.ID      = "0";
            tvn1.Value   = ViewState["BookID"].ToString();
            tvn1.Text    = book.bookName;
            tvn1.ToolTip = book.bookName;
            tvBookChapter.Nodes.Add(tvn1);

            //添加章节
            BookChapterBLL bookChapterBLL = new BookChapterBLL();

            IList <RailExam.Model.BookChapter> bookChapterList = bookChapterBLL.GetBookChapterByBookID(Convert.ToInt32(ViewState["BookID"].ToString()));

            if (bookChapterList.Count > 0)
            {
                TreeViewNode tvn = null;

                foreach (RailExam.Model.BookChapter bookChapter in bookChapterList)
                {
                    tvn         = new TreeViewNode();
                    tvn.ID      = bookChapter.ChapterId.ToString();
                    tvn.Value   = bookChapter.BookId.ToString();
                    tvn.Text    = bookChapter.ChapterName;
                    tvn.ToolTip = bookChapter.ChapterName;

                    if (bookChapter.ParentId == 0)
                    {
                        //tvBookChapter.Nodes.Add(tvn);
                        tvBookChapter.FindNodeById(bookChapter.ParentId.ToString()).Nodes.Add(tvn);
                    }
                    else
                    {
                        try
                        {
                            tvBookChapter.FindNodeById(bookChapter.ParentId.ToString()).Nodes.Add(tvn);
                        }
                        catch
                        {
                            tvBookChapter.Nodes.Clear();
                            SessionSet.PageMessage = "数据错误!";

                            return;
                        }
                    }
                }
            }

            tvBookChapter.DataBind();
            tvBookChapter.ExpandAll();
        }
        private ArrayList GetBookChapterList(int nBookID)
        {
            ArrayList      objList = new ArrayList();
            BookChapterBLL objBll  = new BookChapterBLL();
            IList <RailExam.Model.BookChapter> objBookChapterList = objBll.GetBookChapterByBookID(nBookID);

            foreach (RailExam.Model.BookChapter chapter in objBookChapterList)
            {
                objList.Add(chapter.ChapterId);
            }

            return(objList);
        }
        protected void btnSend_Click(object sender, EventArgs e)
        {
            BookBLL        objbll               = new BookBLL();
            BookChapterBLL objChapterbll        = new BookChapterBLL();
            IList <RailExam.Model.Book> objList = objbll.GetAllBookInfo(0);

            ArrayList objBookIDList = new ArrayList();

            foreach (RailExam.Model.Book book in objList)
            {
                if (Directory.Exists(Server.MapPath("../Online/Book/" + book.bookId + "/")))
                {
                    SaveBookCover(book.bookId.ToString());
                    objChapterbll.GetIndex(book.bookId.ToString());
                }
            }
            SessionSet.PageMessage = "发布成功!";
        }
        protected void fvBookChapter_ItemUpdating(object sender, FormViewUpdateEventArgs e)
        {
            string strId        = e.Keys["ChapterId"].ToString();
            bool   isMotherItem = Convert.ToBoolean(e.NewValues["IsMotherItem"]);
            int    ParentId     = Convert.ToInt32(e.NewValues["ParentId"]);
            string strName      = e.NewValues["ChapterName"].ToString();
            int    bookID       = Convert.ToInt32(e.NewValues["BookId"]);

            if (isMotherItem)
            {
                BookChapterBLL objBll = new BookChapterBLL();

                //RailExam.Model.BookChapter chapter = objBll.GetBookChapter(Convert.ToInt32(strId));
                //if(chapter.ParentId == 0)
                //{
                //    SessionSet.PageMessage = "章不能为复习要点!";
                //    e.Cancel = true;
                //    ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"setImageBtnVisiblityUpdate()", true);
                //    return;
                //}

                IList <RailExam.Model.BookChapter> objList = objBll.GetBookChapterByParentID(Convert.ToInt32(strId));

                if (objList.Count > 0)
                {
                    SessionSet.PageMessage = "当前节点存在下级节点,不能设置为复习要点!";
                    e.Cancel = true;
                    ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"setImageBtnVisiblityUpdate()", true);
                    return;
                }

                OracleAccess db = new OracleAccess();
                DataSet      ds = db.RunSqlDataSet("select * from Book_Chapter where Chapter_ID<>" + strId + " and Book_ID=" + bookID + " and  Chapter_Name='" + strName + "'");

                if (ds.Tables[0].Rows.Count > 0)
                {
                    SessionSet.PageMessage = "同一教材下复习要点名称不能重复!";
                    e.Cancel = true;
                    ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"setImageBtnVisiblityInsert()", true);
                    return;
                }
            }
        }
Exemple #9
0
        private void FillExcludeCategorysID(string strIDs)
        {
            string strName = string.Empty;

            string[] str1 = strIDs.Split(new char[] { ',' });
            for (int i = 0; i < str1.Length; i++)
            {
                if (i > 0)
                {
                    strName += ",";
                }

                BookChapterBLL bookChapterBLL = new BookChapterBLL();
                BookChapter    bookChapter    = bookChapterBLL.GetBookChapter(int.Parse(str1[i]));

                strName += bookChapter.ChapterName;
            }

            txtExCludeChapters.Text = strName;
        }
Exemple #10
0
        private void BindKnowledgeTree()
        {
            #region Bind knowledge tree

            KnowledgeBLL knowledgeBLL = new KnowledgeBLL();

            IList <RailExam.Model.Knowledge> knowledgeList = knowledgeBLL.GetKnowledges();

            if (knowledgeList.Count > 0)
            {
                TreeViewNode tvn = null;

                BookBLL bookBLL = new BookBLL();
                foreach (RailExam.Model.Knowledge knowledge in knowledgeList)
                {
                    tvn         = new TreeViewNode();
                    tvn.ID      = "knowledge" + knowledge.KnowledgeId.ToString();
                    tvn.Value   = knowledge.IdPath;
                    tvn.Text    = knowledge.KnowledgeName;
                    tvn.ToolTip = knowledge.KnowledgeName;
                    tvn.Attributes.Add("isKnowledge", "true");
                    tvn.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Knowledge.gif";
                    //tvn.ContentCallbackUrl = "/RailExamBao/Common/GetKnowledgeBook.aspx?item=no&id=" + knowledge.IdPath;

                    if (knowledge.ParentId == 0)
                    {
                        tvView.Nodes.Add(tvn);
                    }
                    else
                    {
                        try
                        {
                            tvView.FindNodeById("knowledge" + knowledge.ParentId.ToString()).Nodes.Add(tvn);
                            IList <RailExam.Model.Knowledge> objList = knowledgeBLL.GetKnowledgesByParentID(knowledge.KnowledgeId);

                            if (objList.Count == 0)
                            {
                                IList <RailExam.Model.Book> bookList = bookBLL.GetBookByKnowledgeIDPath(knowledge.IdPath);
                                if (bookList.Count > 0)
                                {
                                    foreach (RailExam.Model.Book book in bookList)
                                    {
                                        tvn         = new TreeViewNode();
                                        tvn.ID      = "book" + book.bookId.ToString();
                                        tvn.Value   = book.bookId.ToString();
                                        tvn.Text    = book.bookName;
                                        tvn.ToolTip = book.bookName;
                                        tvn.Attributes.Add("isBook", "true");
                                        tvn.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Book.gif";

                                        tvView.FindNodeById("knowledge" + knowledge.KnowledgeId.ToString()).Nodes.Add(tvn);

                                        //Ìí¼ÓÕ½Ú
                                        BookChapterBLL bookChapterBLL = new BookChapterBLL();
                                        IList <RailExam.Model.BookChapter> bookChapterList = bookChapterBLL.GetBookChapterByBookID(book.bookId);

                                        if (bookChapterList.Count > 0)
                                        {
                                            foreach (RailExam.Model.BookChapter bookChapter in bookChapterList)
                                            {
                                                tvn         = new TreeViewNode();
                                                tvn.ID      = "chapter" + bookChapter.ChapterId.ToString();
                                                tvn.Value   = bookChapter.BookId.ToString();
                                                tvn.Text    = bookChapter.ChapterName;
                                                tvn.ToolTip = bookChapter.ChapterName;
                                                tvn.Attributes.Add("isChapter", "true");
                                                tvn.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Chapter.gif";

                                                if (bookChapter.ParentId == 0)
                                                {
                                                    tvView.FindNodeById("book" + bookChapter.BookId).Nodes.Add(tvn);
                                                }
                                                else
                                                {
                                                    tvView.FindNodeById("chapter" + bookChapter.ParentId.ToString()).Nodes.Add(tvn);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        catch
                        {
                            tvView.Nodes.Clear();
                            SessionSet.PageMessage = "Êý¾Ý´íÎó£¡";
                            return;
                        }
                    }
                }
            }

            #endregion
        }
        protected void btnInput_Click(object sender, EventArgs e)
        {
            string strSql;

            for (int i = 0; i < gvBook.Rows.Count; i++)
            {
                CheckBox chk = (CheckBox)gvBook.Rows[i].FindControl("chSelect");

                HiddenField hfKownledgeName = (HiddenField)gvBook.Rows[i].FindControl("hfKownledgeName");
                HiddenField hfKownledgeId   = (HiddenField)gvBook.Rows[i].FindControl("hfKownledgeId");
                HiddenField hfTrainTypeName = (HiddenField)gvBook.Rows[i].FindControl("hfTrainTypeName");
                HiddenField hfTrainTypeID   = (HiddenField)gvBook.Rows[i].FindControl("hfTrainTypeID");

                if (chk.Checked && hfKownledgeName.Value.Trim() == "")
                {
                    SessionSet.PageMessage = "请选择教材体系!";
                    return;
                }

                if (chk.Checked && hfTrainTypeName.Value.Trim() == "")
                {
                    SessionSet.PageMessage = "请选择培训类别!";
                    return;
                }

                if (chk.Checked)
                {
                    strSql = "select a.*,b.Short_Name from Book a inner join Org b on a.Publish_Org=b.Org_ID where a.Book_ID=" + gvBook.DataKeys[i].Value.ToString();
                    DataSet ds = RunSqlDataSet(strSql);
                    DataRow dr = ds.Tables[0].Rows[0];

                    BookBLL             bookBLL = new BookBLL();
                    RailExam.Model.Book book    = new RailExam.Model.Book();

                    book.bookId = Convert.ToInt32(dr["Book_ID"].ToString());

                    string strPath    = Server.MapPath(ConfigurationManager.AppSettings["BookDesigner"].ToString() + book.bookId + "/");
                    string strAimPath = Server.MapPath("../Online/Book/" + book.bookId + "/");
                    if (!Directory.Exists(strPath))
                    {
                        SessionSet.PageMessage = "有教材还未创建内容,暂不能导入!";
                        return;
                    }

                    book.bookName       = dr["Book_Name"].ToString();
                    book.bookNo         = dr["Book_No"].ToString();
                    book.authors        = dr["Authors"].ToString();
                    book.bookmaker      = dr["BookMaker"].ToString();
                    book.publishOrg     = Convert.ToInt32(dr["Publish_Org"].ToString());
                    book.publishOrgName = dr["Short_Name"].ToString();
                    book.revisers       = dr["Revisers"].ToString();
                    book.coverDesigner  = dr["Cover_Designer"].ToString();
                    book.keyWords       = dr["Keywords"].ToString();
                    book.pageCount      = Convert.ToInt32(dr["Page_Count"].ToString());
                    book.wordCount      = Convert.ToInt32(dr["Word_Count"].ToString());
                    book.Description    = dr["Description"].ToString();
                    book.url            = "../Book/" + dr["Book_ID"].ToString() + "/index.html";
                    book.Memo           = dr["Remark"].ToString();
                    book.knowledgeId    = Convert.ToInt32(hfKownledgeId.Value);
                    book.knowledgeName  = hfKownledgeName.Value;

                    ArrayList typeIDAL  = new ArrayList();
                    string[]  strTypeID = hfTrainTypeID.Value.Split(',');
                    for (int j = 0; j < strTypeID.Length; j++)
                    {
                        typeIDAL.Add(strTypeID[j]);
                    }
                    book.trainTypeidAL = typeIDAL;

                    bookBLL.AddBook(book);

                    strSql = "select * from Book_Chapter where Book_ID=" + gvBook.DataKeys[i].Value.ToString() + " order by Level_Num,Order_Index";
                    ds     = RunSqlDataSet(strSql);

                    BookChapterBLL bookChapterBll = new BookChapterBLL();
                    foreach (DataRow dr1 in ds.Tables[0].Rows)
                    {
                        RailExam.Model.BookChapter bookChapter = new RailExam.Model.BookChapter();

                        bookChapter.ChapterId           = Convert.ToInt32(dr1["Chapter_ID"].ToString());
                        bookChapter.BookId              = Convert.ToInt32(dr1["Book_ID"].ToString());
                        bookChapter.ChapterName         = dr1["Chapter_Name"].ToString();
                        bookChapter.ParentId            = Convert.ToInt32(dr1["Parent_ID"].ToString());
                        bookChapter.LevelNum            = Convert.ToInt32(dr1["Level_Num"].ToString());
                        bookChapter.OrderIndex          = Convert.ToInt32(dr1["Order_Index"].ToString());
                        bookChapter.ReferenceRegulation = dr1["REFERENCE_REGULATION"].ToString();
                        bookChapter.Description         = dr1["Description"].ToString();
                        bookChapter.Memo = dr1["Remark"].ToString();
                        bookChapter.Url  = "../Book/" + dr1["Book_ID"].ToString() + "/" + dr1["Chapter_ID"].ToString() + ".htm";

                        bookChapterBll.AddBookChapter(bookChapter);
                    }

                    CopyTemplate(strPath, strAimPath);
                }
            }
            BindGrid();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            hfChapterID.Value = Request.QueryString["id"];
            hfIsWuhan.Value   = PrjPub.IsWuhan().ToString();

            if (fvBookChapter.CurrentMode == FormViewMode.Insert)
            {
                if (hfInsert.Value == "-1")
                {
                    ((HiddenField)fvBookChapter.FindControl("hfParentID")).Value = Request.QueryString["ParentID"];
                    ((HiddenField)fvBookChapter.FindControl("hfBookID")).Value   = Request.QueryString["BookID"];
                }
                else
                {
                    ((HiddenField)fvBookChapter.FindControl("hfParentId")).Value = hfInsert.Value;
                    ((HiddenField)fvBookChapter.FindControl("hfBookID")).Value   = Request.QueryString["BookID"];
                }
                if (Request.QueryString["Mode"] == "Edit")
                {
                    ((HiddenField)fvBookChapter.FindControl("hfIsEdit")).Value = "true";
                }
                else
                {
                    ((HiddenField)fvBookChapter.FindControl("hfIsEdit")).Value = "false";
                }
            }
            else if (fvBookChapter.CurrentMode == FormViewMode.Edit)
            {
                if (Request.QueryString["Mode"] == "Edit")
                {
                    ((HiddenField)fvBookChapter.FindControl("hfIsEdit")).Value = "true";
                }
                else
                {
                    ((HiddenField)fvBookChapter.FindControl("hfIsEdit")).Value = "false";
                }
            }


            string strRefresh = Request.Form.Get("Refresh");

            if (strRefresh != null & strRefresh != "")
            {
                string strPath = "../Online/Book/" + Request.QueryString["BookID"].ToString() + "/" + Request.QueryString["id"].ToString() + ".htm";

                BookChapterBLL objBill = new BookChapterBLL();
                objBill.UpdateBookChapterUrl(Convert.ToInt32(Request.QueryString["id"].ToString()), strPath);
                RailExam.Model.BookChapter objBookChapter = objBill.GetBookChapter(Convert.ToInt32(Request.QueryString["id"].ToString()));
                string strChapterName = objBookChapter.ChapterName;

                string str = File.ReadAllText(Server.MapPath(strPath), Encoding.UTF8);

                if (str.IndexOf("chaptertitle") < 0)
                {
                    if (objBookChapter.LevelNum < 3)
                    {
                        str = "<link href='book.css' type='text/css' rel='stylesheet' />"
                              + "<body oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' oncopy='document.selection.empty()' onbeforecopy='return false'>"
                              + "<div id='chaptertitle" + objBookChapter.LevelNum + "'>" + strChapterName + "</div>" +
                              "<br>"
                              + str + "</body>";
                    }
                    else
                    {
                        str = "<link href='book.css' type='text/css' rel='stylesheet' />"
                              + "<body oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' oncopy='document.selection.empty()' onbeforecopy='return false'>"
                              + "<div id='chaptertitle3'>" + strChapterName + "</div>" +
                              "<br>"
                              + str + "</body>";
                    }

                    File.WriteAllText(Server.MapPath(strPath), str, Encoding.UTF8);
                }


                BookBLL objBookBill = new BookBLL();
                if (Request.QueryString.Get("Mode") == "Edit")
                {
                    objBookBill.UpdateBookVersion(Convert.ToInt32(Request.QueryString["BookID"].ToString()));
                }
                string strBookName = objBookBill.GetBook(Convert.ToInt32(Request.QueryString["BookID"].ToString())).bookName;

                SystemLogBLL objLogBll = new SystemLogBLL();
                objLogBll.WriteLog("编辑教材《" + strBookName + "》中“" + strChapterName + "”的章节内容");

                fvBookChapter.DataBind();
                Grid1.DataBind();

                objBill.GetIndex(Request.QueryString["BookID"].ToString());

                ItemBLL objBll = new ItemBLL();
                IList <RailExam.Model.Item> objList =
                    objBll.GetItemsByBookChapterId(Convert.ToInt32(Request.QueryString["BookID"]), Convert.ToInt32(Request.QueryString["id"]), 0, 0);

                if (objList.Count > 0)
                {
                    ClientScript.RegisterStartupScript(GetType(),
                                                       "jsSelectFirstNode",
                                                       @"var ret = window.showModalDialog('/RailExamBao/Book/ItemEnabled.aspx?BookID=" + Request.QueryString["BookID"] + @"&ChapterID=" + Request.QueryString["id"] + @"','','help:no; status:no;dialogWidth:300px;dialogHeight:120px;');",
                                                       true);
                }
            }

            string strRefreshGrid = Request.Form.Get("RefreshGrid");

            if (strRefreshGrid != null & strRefreshGrid != "")
            {
                fvBookChapter.DataBind();
                Grid1.DataBind();
            }

            string strDeleteBookChapterUpdateID = Request.Form.Get("DeleteBookChapterUpdateID");

            if (!string.IsNullOrEmpty(strDeleteBookChapterUpdateID))
            {
                DeleteData(int.Parse(strDeleteBookChapterUpdateID));
                Grid1.DataBind();
            }
        }
Exemple #13
0
        protected void tvBookChapterChangeCallBack_Callback(object sender, CallBackEventArgs e)
        {
            BookChapterBLL objBookChapter = new BookChapterBLL();

            RailExam.Model.BookChapter obj = new RailExam.Model.BookChapter();
            obj = objBookChapter.GetBookChapterInfo(int.Parse(e.Parameters[0]));
            int cout = tvBookChapter.FindNodeById(obj.ParentId.ToString()).Nodes.Count;

            if (e.Parameters[1] == "MoveUp")
            {
                if (obj.OrderIndex <= cout && obj.OrderIndex >= 2)
                {
                    obj.OrderIndex--;
                    if (e.Parameters[2] == "Edit")
                    {
                        obj.IsEdit = true;
                    }
                    else
                    {
                        obj.IsEdit = false;
                    }
                    objBookChapter.UpdateBookChapter(obj);

                    obj = objBookChapter.GetBookChapter(int.Parse(tvBookChapter.FindNodeById(e.Parameters[0]).PreviousSibling.ID));
                    obj.OrderIndex++;
                    objBookChapter.UpdateBookChapter(obj);
                }
            }
            if (e.Parameters[1] == "MoveDown")
            {
                if (obj.OrderIndex <= cout - 1 && obj.OrderIndex >= 1)
                {
                    obj.OrderIndex++;
                    if (e.Parameters[2] == "Edit")
                    {
                        obj.IsEdit = true;
                    }
                    else
                    {
                        obj.IsEdit = false;
                    }
                    objBookChapter.UpdateBookChapter(obj);

                    obj = objBookChapter.GetBookChapter(int.Parse(tvBookChapter.FindNodeById(e.Parameters[0]).NextSibling.ID));
                    obj.OrderIndex--;
                    objBookChapter.UpdateBookChapter(obj);
                }
            }
            if (e.Parameters[1] == "Insert")
            {
                string strSql = "select Max(Chapter_Id) from Book_Chapter where Book_ID=" + hfBookID.Value
                                + " and Parent_ID=" + e.Parameters[0];
                OracleAccess db = new OracleAccess();
                DataSet      ds = db.RunSqlDataSet(strSql);

                hfMaxID.Value = ds.Tables[0].Rows[0][0].ToString();
                hfMaxID.RenderControl(e.Output);
            }

            tvBookChapter.Nodes.Clear();
            BindTree();
            tvBookChapter.RenderControl(e.Output);
        }
Exemple #14
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            BookUpdateBLL BookUpdateBLL = new BookUpdateBLL();
            BookUpdate    BookUpdate    = new BookUpdate();

            string strUpdateObject = Request.QueryString.Get("Object");

            if (txtCause.Text == string.Empty)
            {
                SessionSet.PageMessage = "更改原因不能为空!";
                return;
            }

            if (txtContent.Text == string.Empty)
            {
                SessionSet.PageMessage = "更改内容不能为空!";
                return;
            }

            if (ViewState["AddFlag"].ToString() == "1")     //新增
            {
                BookBLL objBookBll = new BookBLL();
                BookUpdate.BookId        = int.Parse(ViewState["BookID"].ToString());
                BookUpdate.ChapterId     = int.Parse(ViewState["ChapterID"].ToString());
                BookUpdate.updatePerson  = lblPerson.Text;
                BookUpdate.updateDate    = DateTime.Parse(lblDate.Text);
                BookUpdate.updateCause   = txtCause.Text;
                BookUpdate.updateContent = txtContent.Text;
                BookUpdate.Memo          = txtMemo.Text;
                BookUpdate.BookNameBak   = objBookBll.GetBook(Convert.ToInt32(ViewState["BookID"].ToString())).bookName;
                if (ViewState["ChapterID"].ToString() != "0")
                {
                    BookChapterBLL objChapterBll = new BookChapterBLL();
                    BookUpdate.ChapterNameBak =
                        objChapterBll.GetBookChapter(Convert.ToInt32(ViewState["ChapterID"].ToString())).ChapterName;
                }
                if (strUpdateObject == "insertchapterinfo")
                {
                    BookUpdate.ChapterNameBak = Server.UrlDecode(Request.QueryString.Get("newchaptername"));
                    BookUpdate.UpdateObject   = PrjPub.BOOKUPDATEOBJECT_INSERTCHAPTERINFO;
                }
                else if (strUpdateObject == "updatechapterinfo")
                {
                    BookUpdate.UpdateObject = PrjPub.BOOKUPDATEOBJECT_UPDATECHAPTERINFO;
                }
                else if (strUpdateObject == "chaptercontent")
                {
                    BookUpdate.UpdateObject = PrjPub.BOOKUPDATEOBJECT_CHAPTERCONTENT;
                }
                else if (strUpdateObject == "delbook")
                {
                    BookUpdate.UpdateObject = PrjPub.BOOKUPDATEOBJECT_DELBOOK;
                }
                else if (strUpdateObject == "delchapter")
                {
                    BookUpdate.UpdateObject = PrjPub.BOOKUPDATEOBJECT_DELCHAPTER;
                }
                else
                {
                    BookUpdate.UpdateObject = lblChapterName.Text;
                }
                BookUpdateBLL.AddBookUpdate(BookUpdate);

                Response.Write("<script>top.returnValue='true';window.close();</script>");
            }
            else        //修改
            {
                BookUpdate.BookId        = int.Parse(ViewState["BookID"].ToString());
                BookUpdate.ChapterId     = int.Parse(ViewState["ChapterID"].ToString());
                BookUpdate.updatePerson  = lblPerson.Text;
                BookUpdate.updateDate    = DateTime.Parse(lblDate.Text);
                BookUpdate.updateCause   = txtCause.Text;
                BookUpdate.updateContent = txtContent.Text;
                BookUpdate.Memo          = txtMemo.Text;

                BookUpdate.bookUpdateId = int.Parse(Request.QueryString.Get("id"));
                BookUpdateBLL.UpdateBookUpdate(BookUpdate);

                if (PrjPub.IsWuhan())
                {
                    Response.Write("<script>window.opener.form1.RefreshGrid.value='true';window.opener.form1.submit();window.close();</script>");
                }
                else
                {
                    Response.Write("<script>top.returnValue='true';window.close();</script>");
                }
            }
        }
Exemple #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }
                string strMode = Request.QueryString.Get("Mode");
                if (strMode != "" && strMode != null && strMode == "ReadOnly")
                {
                    btnSave.Visible      = false;
                    CancelButton.Visible = true;
                }
                else
                {
                    btnSave.Visible      = true;
                    CancelButton.Visible = false;
                }

                string strUpdateObject        = Request.QueryString.Get("Object");
                string strBookChapterUpdateID = Request.QueryString.Get("id");
                string bookID    = Request.QueryString.Get("BookID");
                string chapterID = Request.QueryString.Get("ChapterID");
                ViewState["BookID"]    = bookID;
                ViewState["ChapterID"] = chapterID;

                string chapterName = "";

                if (!string.IsNullOrEmpty(strBookChapterUpdateID)) //修改
                {
                    FillPage(int.Parse(strBookChapterUpdateID));
                }
                else
                {
                    if (ViewState["ChapterID"].ToString() != "0")
                    {
                        BookChapterBLL objChapterBll = new BookChapterBLL();
                        chapterName =
                            objChapterBll.GetBookChapter(Convert.ToInt32(chapterID)).ChapterName;
                    }

                    BookBLL objBook = new BookBLL();
                    lblBookName.Text = objBook.GetBook(Convert.ToInt32(bookID)).bookName;
                    lblPerson.Text   = PrjPub.CurrentLoginUser.EmployeeName;
                    lblDate.Text     = DateTime.Today.ToLongDateString();

                    if (strUpdateObject == "delbook")
                    {
                        lblChapterName.Text = "删除教材《" + lblBookName.Text + "》";
                    }
                    else if (strUpdateObject == "delchapter")
                    {
                        lblChapterName.Text = "删除章节" + chapterName;
                    }
                    else if (strUpdateObject == "insertchapterinfo")
                    {
                        chapterName         = Server.UrlDecode(Request.QueryString.Get("newchaptername"));
                        lblChapterName.Text = "新增《" + chapterName + "》章节基本信息";
                    }
                    else if (strUpdateObject == "bookinfo")
                    {
                        lblChapterName.Text = PrjPub.BOOKUPDATEOBJECT_BOOKINFO;
                    }
                    else if (strUpdateObject == "bookcover")
                    {
                        lblChapterName.Text = PrjPub.BOOKUPDATEOBJECT_BOOKCOVER;
                    }
                    else if (strUpdateObject == "updatechapterinfo")
                    {
                        lblChapterName.Text = "修改《" + chapterName + "》章节基本信息";
                    }
                    else if (strUpdateObject == "chaptercontent")
                    {
                        lblChapterName.Text = "《" + chapterName + "》" + PrjPub.BOOKUPDATEOBJECT_CHAPTERCONTENT;
                    }

                    ViewState["AddFlag"] = 1;
                }
            }
        }
Exemple #16
0
        private void BindTree()
        {
            string strBookID     = Request.QueryString.Get("BookID");
            string strSelectedID = Request.QueryString.Get("StrategyID");
            string strItemTypeID = Request.QueryString.Get("itemTypeID");

            BookBLL objBll = new BookBLL();

            RailExam.Model.Book obj = objBll.GetBook(Convert.ToInt32(strBookID));

            ItemBLL objItemBll = new ItemBLL();

            TreeViewNode node = new TreeViewNode();
            int          m    = objItemBll.GetItemsByBookID(obj.bookId, Convert.ToInt32(strItemTypeID));

            if (m > 0)
            {
                node.Text = obj.bookName + "£¨" + m + "Ì⣩";
            }
            else
            {
                node.Text = obj.bookName;
            }
            node.ID = obj.bookId.ToString();

            tvBook.Nodes.Add(node);

            BookChapterBLL objChapterBll = new BookChapterBLL();
            IList <RailExam.Model.BookChapter> objChapterList = objChapterBll.GetBookChapterByBookID(Convert.ToInt32(strBookID));

            TreeViewNode tvn = null;

            foreach (BookChapter bookChapter in objChapterList)
            {
                if (bookChapter.IsMotherItem)
                {
                    continue;
                }

                tvn       = new TreeViewNode();
                tvn.ID    = bookChapter.ChapterId.ToString();
                tvn.Value = bookChapter.ChapterId.ToString();
                int n = objItemBll.GetItemsByBookChapterIdPath(bookChapter.IdPath, Convert.ToInt32(strItemTypeID));
                if (n > 0)
                {
                    tvn.Text = bookChapter.ChapterName + "£¨" + n + "Ì⣩";
                }
                else
                {
                    tvn.Text = bookChapter.ChapterName;
                }

                tvn.ToolTip      = bookChapter.ChapterName;
                tvn.ShowCheckBox = true;

                if (Request.QueryString.Get("StrategyID") != null)
                {
                    string str = "," + strSelectedID + ",";
                    if (str.IndexOf("," + tvn.ID + ",") != -1)
                    {
                        tvn.Checked = true;
                    }
                }

                tvn.Attributes.Add("isChapter", "true");
                tvn.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Chapter.gif";

                if (bookChapter.ParentId == 0)
                {
                    tvBook.FindNodeById(bookChapter.BookId.ToString()).Nodes.Add(tvn);
                }
                else
                {
                    tvBook.FindNodeById(bookChapter.ParentId.ToString()).Nodes.Add(tvn);
                }
            }

            if (tvBook.Nodes.Count > 0)
            {
                tvBook.Nodes[0].Expanded = true;
            }
        }
Exemple #17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }

                string strMode      = Request.QueryString.Get("mode");
                string strBookId    = Request.QueryString.Get("bid");
                string strChapterId = Request.QueryString.Get("cid");

                switch (strMode)
                {
                case "readonly":
                {
                    if (fvItem.CurrentMode != FormViewMode.ReadOnly)
                    {
                        fvItem.ChangeMode(FormViewMode.ReadOnly);
                    }
                    break;
                }

                case "insert":
                {
                    if (PrjPub.CurrentLoginUser.SuitRange == 0 && PrjPub.IsServerCenter)
                    {
                        BookBLL             bookBLL = new BookBLL();
                        RailExam.Model.Book objBook = bookBLL.GetBook(Convert.ToInt32(strBookId));
                        if (PrjPub.CurrentLoginUser.StationOrgID != objBook.publishOrg)
                        {
                            Response.Write("<script>alert('您没有新增当前教材章节试题的权限!');window.close();</script>");
                            return;
                        }
                    }

                    if (fvItem.CurrentMode != FormViewMode.Insert)
                    {
                        fvItem.ChangeMode(FormViewMode.Insert);
                    }

                    if (!string.IsNullOrEmpty(strBookId) && !string.IsNullOrEmpty(strChapterId))
                    {
                        int                       employeeID    = PrjPub.CurrentLoginUser.EmployeeID;
                        ItemConfigBLL             itemConfigBLL = new ItemConfigBLL();
                        RailExam.Model.ItemConfig itemConfig    = itemConfigBLL.GetItemConfig(employeeID);

                        ((DropDownList)fvItem.FindControl("ddlItemTypeInsert")).SelectedValue =
                            itemConfig.DefaultTypeId.ToString();
                        ((DropDownList)fvItem.FindControl("ddlItemDifficultyInsert")).SelectedValue =
                            itemConfig.DefaultDifficultyId.ToString();
                        ((TextBox)fvItem.FindControl("txtDefaultScoreInsert")).Text =
                            itemConfig.DefaultScore.ToString(".00");
                        ((TextBox)fvItem.FindControl("txtCompleteTimeInsert")).Text =
                            CommonTool.ConvertSecondsToTimeString(itemConfig.DefaultCompleteTime);
                        ((TextBox)fvItem.FindControl("txtCreatePersonInsert")).Text =
                            PrjPub.CurrentLoginUser.EmployeeName;
                        ((DropDownList)fvItem.FindControl("ddlAnswerCountInsert")).SelectedValue =
                            itemConfig.DefaultAnswerCount.ToString();
                        ((DropDownList)fvItem.FindControl("ddlStatusInsert")).SelectedValue =
                            itemConfig.DefaultStatusId.ToString();
                        ((DropDownList)fvItem.FindControl("ddlHasPictureInsert")).SelectedValue =
                            itemConfig.HasPicture.ToString();

                        ((HiddenField)fvItem.FindControl("hfBookId")).Value     = strBookId;
                        ((HiddenField)fvItem.FindControl("hfChapterId")).Value  = strChapterId;
                        ((HiddenField)fvItem.FindControl("hfCategoryId")).Value = "-1";

                        BookBLL        objBll        = new BookBLL();
                        string         bookName      = objBll.GetBook(Convert.ToInt32(strBookId)).bookName;
                        BookChapterBLL objChapterBll = new BookChapterBLL();
                        string         chapterName   = objChapterBll.GetBookChapter(Convert.ToInt32(strChapterId)).NamePath;
                        ((TextBox)fvItem.FindControl("txtBookChapterInsert")).Text = bookName + ">>" + chapterName;

                        if (PrjPub.CurrentLoginUser != null && PrjPub.CurrentLoginUser.StationOrgID > 0)
                        {
                            ((HiddenField)fvItem.FindControl("hfOrganizationId")).Value =
                                PrjPub.CurrentLoginUser.StationOrgID.ToString();
                        }

                        if (itemConfig.DefaultOutDateDate != DateTime.MinValue)
                        {
                            ((Date)fvItem.FindControl("dateOutDateDateInsert")).DateValue =
                                itemConfig.DefaultOutDateDate.ToString("yyyy-MM-dd");
                        }

                        ((Date)fvItem.FindControl("dateCreateTimeInsert")).DateValue =
                            DateTime.Today.ToString("yyyy-MM-dd");
                    }
                    break;
                }

                case "edit":
                {
                    //if(PrjPub.CurrentLoginUser.SuitRange == 0 && PrjPub.IsServerCenter)
                    //{
                    //    int itemID = Convert.ToInt32(Request.QueryString.Get("id"));
                    //    ItemBLL itemBLL = new ItemBLL();
                    //    RailExam.Model.Item objItem = itemBLL.GetItem(itemID);
                    //    BookBLL bookBLL = new BookBLL();
                    //    RailExam.Model.Book objBook = bookBLL.GetBook(objItem.BookId);
                    //    if(PrjPub.CurrentLoginUser.StationOrgID != objBook.publishOrg)
                    //    {
                    //        Response.Write("<script>alert('您没有修改该试题的权限!');window.close();</script>");
                    //        return;
                    //    }
                    //}

                    if (fvItem.CurrentMode != FormViewMode.Edit)
                    {
                        fvItem.ChangeMode(FormViewMode.Edit);
                    }

                    break;
                }

                default:
                {
                    break;
                }
                }
            }
        }
Exemple #18
0
        private void BindBookTree()
        {
            tvBook.Nodes.Clear();
            BookBLL objBookBll = new BookBLL();
            IList <RailExam.Model.Book> objBookList = null;

            if (Request.QueryString.Get("StandardID") != null && Request.QueryString.Get("StandardID") != "")
            {
                objBookList = objBookBll.GetTrainCourseBookChapterTree(Convert.ToInt32(ViewState["PostID"].ToString()));
            }
            else
            {
                objBookList = objBookBll.GetAllBookInfo(1);
            }

            ArrayList objList = GetChapterList();

            if (objBookList.Count > 0)
            {
                TreeViewNode tvn = null;

                foreach (RailExam.Model.Book book in objBookList)
                {
                    tvn              = new TreeViewNode();
                    tvn.ID           = book.bookId.ToString();
                    tvn.Value        = book.bookId.ToString();
                    tvn.Text         = book.bookName;
                    tvn.ToolTip      = book.bookName;
                    tvn.ShowCheckBox = true;

                    tvBook.Nodes.Add(tvn);

                    if (objList.Count > 0)
                    {
                        if (objList.IndexOf(book.bookId.ToString()) != -1)
                        {
                            tvn.Checked = true;
                        }
                    }

                    BookChapterBLL objBookChapterBll = new BookChapterBLL();
                    IList <RailExam.Model.BookChapter> objBookChapterList =
                        objBookChapterBll.GetTrainCourseBookChapterTree(book.bookId);

                    if (objBookChapterList.Count > 0)
                    {
                        foreach (BookChapter objBookChapter in objBookChapterList)
                        {
                            tvn              = new TreeViewNode();
                            tvn.ID           = objBookChapter.ChapterId.ToString();
                            tvn.Value        = book.bookId.ToString();
                            tvn.Text         = objBookChapter.ChapterName;
                            tvn.ToolTip      = objBookChapter.ChapterName;
                            tvn.ShowCheckBox = true;

                            if (objList.Count > 0)
                            {
                                if (objList.IndexOf(objBookChapter.ChapterId) != -1)
                                {
                                    tvn.Checked = true;
                                }
                            }

                            if (objBookChapter.ParentId == 0)
                            {
                                try
                                {
                                    tvBook.FindNodeById(book.bookId.ToString()).Nodes.Add(tvn);
                                }
                                catch
                                {
                                    tvBook.Nodes.Clear();
                                    Response.Write("数据错误!");
                                    return;
                                }
                            }
                            else
                            {
                                try
                                {
                                    tvBook.FindNodeById(objBookChapter.ParentId.ToString()).Nodes.Add(tvn);
                                }
                                catch
                                {
                                    tvBook.Nodes.Clear();
                                    Response.Write("数据错误!");
                                    return;
                                }
                            }
                        }
                    }
                }
            }
            tvBook.DataBind();
            tvBook.ExpandAll();
        }
        protected void btnShowMother_Click(object sender, EventArgs e)
        {
            #region 原母题
            //改变教材章节,清空母题
            string strSql = "delete from random_exam_strategy "
                            + " where random_exam_strategy_id in ("
                            + " select random_exam_strategy_id from "
                            + " random_exam_strategy a "
                            + " inner join Book_Chapter b on a.Range_ID =b.Chapter_ID "
                            + " where a.Is_Mother_Item = 1 ";

            if (HfRangeType.Value == "3")
            {
                strSql += " and b.Book_ID=" + HfChapterId.Value;
            }
            else
            {
                strSql += " and b.ID_Path ||'/' like (select ID_Path from Book_Chapter where Chapter_ID=" +
                          HfChapterId.Value + ") ||'/%' ";
            }

            //有屏蔽章节
            if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value))
            {
                strSql += " and b.Chapter_ID not in (" + HfExCludeChaptersId.Value + ") ";
            }

            strSql += ")";

            OracleAccess db = new OracleAccess();
            db.ExecuteNonQuery(strSql);


            ItemBLL        item           = new ItemBLL();
            BookChapterBLL bookChapterBll = new BookChapterBLL();
            strSql = "select GetBookChapterName(Chapter_ID) ChapterName, Chapter_ID as ChapterId,ID_Path as IDPath"
                     + " from Book_Chapter "
                     + " where Is_Mother_Item=1";

            int sumTotalCount = 0;
            if (HfRangeType.Value == "3")
            {
                strSql += " and Book_ID='" + HfChapterId.Value + "'";

                sumTotalCount = item.GetItemsByBookID(Convert.ToInt32(HfChapterId.Value),
                                                      Convert.ToInt32(hfItemType.Value));
            }
            else
            {
                BookChapter bookChapter = bookChapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value));

                strSql += " and ID_Path||'/' like '" + bookChapter.IdPath + "/%'";

                sumTotalCount = item.GetItemsByBookChapterIdPath(bookChapter.IdPath,
                                                                 Convert.ToInt32(hfItemType.Value));
            }

            //有屏蔽章节
            if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value))
            {
                strSql += " and Chapter_ID not in (" + HfExCludeChaptersId.Value + ")";
            }


            DataSet ds = db.RunSqlDataSet(strSql);

            if (ds.Tables[0].Rows.Count == 0)
            {
                mother1.Visible = false;
                mother2.Visible = false;
            }
            else
            {
                mother1.Visible = true;
                mother2.Visible = true;

                DataColumn dc1 = ds.Tables[0].Columns.Add("MaxItemCount");
                DataColumn dc2 = ds.Tables[0].Columns.Add("ItemCount");
                DataColumn dc3 = ds.Tables[0].Columns.Add("RandomExamStrategyId");

                int i        = 1;
                int sumCount = 0;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    dr["MaxItemCount"] = item.GetItemsByBookChapterIdPath(dr["IDPath"].ToString(),
                                                                          Convert.ToInt32(hfItemType.Value));
                    dr["ItemCount"] = "";

                    dr["RandomExamStrategyId"] = -i;

                    sumCount += Convert.ToInt32(dr["MaxItemCount"]);

                    i++;
                }

                Grid1.DataSource = ds;
                Grid1.DataBind();

                lblMotherInfo.Text = "其中子题最大题数:" + (sumTotalCount - sumCount) + ";母题最大题数:" + sumCount;
            }
            #endregion
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string strID = Request.QueryString.Get("id");
                ViewState["mode"]     = Request.QueryString.Get("mode");
                hfItemType.Value      = Request.QueryString.Get("itemTypeID");
                ddlType.SelectedValue = hfItemType.Value;
                if (ViewState["mode"].ToString() == "Insert")
                {
                    string subjectId = Request.QueryString.Get("subjectid");
                    hfSubjectId.Value = subjectId;
                    if (!string.IsNullOrEmpty(subjectId))
                    {
                        RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL();
                        RandomExamSubject    paperStrategySubject    = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(subjectId));

                        if (paperStrategySubject != null)
                        {
                            hfExamID.Value        = paperStrategySubject.RandomExamId.ToString();
                            txtSubjectName.Text   = paperStrategySubject.SubjectName;
                            ddlType.SelectedValue = paperStrategySubject.ItemTypeId.ToString();
                            labelTotalCount.Text  = paperStrategySubject.ItemCount.ToString();

                            RandomExamStrategyBLL randomExamStrategyBLL = new RandomExamStrategyBLL();
                            IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = randomExamStrategyBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId);

                            int hasCount = 0;
                            foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys)
                            {
                                hasCount += randomExamStrategy.ItemCount;
                            }

                            labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString();

                            txtNDR.Text = labelLeaveCount.Text;

                            RandomExamResultBLL reBll = new RandomExamResultBLL();
                            IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId);

                            if (examResults.Count > 0)
                            {
                                SaveButton.Visible = false;
                            }
                        }

                        hfSubjectId.Value = subjectId;

                        mother1.Visible = false;
                        mother2.Visible = false;
                    }

                    OracleAccess db     = new OracleAccess();
                    string       strSql = "select RANDOM_EXAM_STRATEGY_SEQ.nextval from dual";
                    DataRow      dr     = db.RunSqlDataSet(strSql).Tables[0].Rows[0];
                    hfKeyID.Value = dr[0].ToString();
                }
                else
                {
                    hfKeyID.Value = strID;
                    FillPage(int.Parse(strID));
                }
            }

            if (!string.IsNullOrEmpty(HfChapterId.Value))
            {
                if (HfRangeType.Value == "4")
                {
                    BookChapterBLL chapterBll = new BookChapterBLL();
                    BookChapter    chapter    = chapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value));

                    txtChapterName.Text = chapter.ChapterName;
                }
                else
                {
                    BookBLL             bookBll = new BookBLL();
                    RailExam.Model.Book book    = bookBll.GetBook(Convert.ToInt32(HfChapterId.Value));

                    txtChapterName.Text = book.bookName;
                }
            }

            if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value))
            {
                string strSql = "select * from Book_Chapter where Chapter_ID in (" + HfExCludeChaptersId.Value + ")";

                OracleAccess db = new OracleAccess();
                DataSet      ds = db.RunSqlDataSet(strSql);

                string strName = string.Empty;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (strName == string.Empty)
                    {
                        strName += dr["Chapter_Name"].ToString();
                    }
                    else
                    {
                        strName += "," + dr["Chapter_Name"].ToString();
                    }
                }

                txtExCludeChapters.Text = strName;
            }
        }
        private void FillPage(int nID)
        {
            RandomExamStrategyBLL paperStrategyBookChapterBLL = new RandomExamStrategyBLL();

            RandomExamStrategy paperStrategyBookChapter = paperStrategyBookChapterBLL.GetRandomExamStrategy(nID);

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

                hfSubjectId.Value     = paperStrategyBookChapter.SubjectId.ToString();
                HfRangeType.Value     = paperStrategyBookChapter.RangeType.ToString();
                HfChapterId.Value     = paperStrategyBookChapter.RangeId.ToString();
                ddlType.SelectedValue = paperStrategyBookChapter.ItemTypeId.ToString();
                txtNDR.Text           = paperStrategyBookChapter.ItemCount.ToString();



                RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL();
                RandomExamSubject    paperStrategySubject    = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(hfSubjectId.Value));

                if (paperStrategySubject != null)
                {
                    hfExamID.Value       = paperStrategySubject.RandomExamId.ToString();
                    txtSubjectName.Text  = paperStrategySubject.SubjectName;
                    labelTotalCount.Text = paperStrategySubject.ItemCount.ToString();

                    IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = paperStrategyBookChapterBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId);

                    int hasCount = 0;
                    foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys)
                    {
                        if (randomExamStrategy.RandomExamStrategyId != nID)
                        {
                            hasCount += randomExamStrategy.ItemCount;
                        }
                    }

                    labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString();

                    RandomExamResultBLL reBll = new RandomExamResultBLL();
                    IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId);

                    if (examResults.Count > 0)
                    {
                        ViewState["mode"] = "ReadOnly";
                    }
                }

                string strSql = "select a.random_exam_strategy_id as RandomExamStrategyId,a.Item_Count as ItemCount,"
                                + "GetBookChapterName(b.Chapter_ID) ChapterName, b.Chapter_ID as ChapterId,b.ID_Path as IDPath "
                                + "from random_exam_strategy a"
                                + " inner join Book_Chapter b on a.Range_ID=b.Chapter_ID "
                                + " where a.Is_Mother_Item=1 and a.Mother_ID=" + nID;

                OracleAccess db = new OracleAccess();

                DataSet ds = db.RunSqlDataSet(strSql);


                if (paperStrategyBookChapter.RangeType == 3 && ds.Tables[0].Rows.Count == 0)
                {
                    txtExCludeChapters.Text = paperStrategyBookChapter.ExcludeChapterId;

                    if (string.IsNullOrEmpty(paperStrategyBookChapter.ExcludeChapterId) == false)
                    {
                        FillExcludeCategorysID(paperStrategyBookChapter.ExcludeChapterId);
                    }
                }

                int     sumTotalCount = 0;
                ItemBLL itembll       = new ItemBLL();
                if (HfRangeType.Value == "3")
                {
                    sumTotalCount = itembll.GetItemsByBookID(Convert.ToInt32(HfChapterId.Value),
                                                             Convert.ToInt32(hfItemType.Value));
                }
                else
                {
                    BookChapterBLL bookChapterBll = new BookChapterBLL();
                    BookChapter    bookChapter    = bookChapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value));
                    sumTotalCount = itembll.GetItemsByBookChapterIdPath(bookChapter.IdPath,
                                                                        Convert.ToInt32(hfItemType.Value));
                }

                if (ds.Tables[0].Rows.Count == 0)
                {
                    mother1.Visible = false;
                    mother2.Visible = false;
                }
                else
                {
                    mother1.Visible = true;
                    mother2.Visible = true;

                    DataColumn dc1 = ds.Tables[0].Columns.Add("MaxItemCount");

                    ItemBLL item        = new ItemBLL();
                    int     sumCount    = 0;
                    int     sumMaxCount = 0;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        dr["MaxItemCount"] = item.GetItemsByBookChapterIdPath(dr["IDPath"].ToString(),
                                                                              Convert.ToInt32(hfItemType.Value));

                        sumCount    += Convert.ToInt32(dr["ItemCount"].ToString());
                        sumMaxCount += Convert.ToInt32(dr["MaxItemCount"].ToString());
                    }

                    txtNDR.Text = (paperStrategyBookChapter.ItemCount + sumCount).ToString();

                    Grid1.DataSource = ds;
                    Grid1.DataBind();

                    lblMotherInfo.Text = "其中子题最大题数:" + (sumTotalCount - sumMaxCount) + ";母题最大题数:" + sumMaxCount;
                }
                strSql              = "select * from Item a inner join Book_Chapter b on a.Chapter_ID=b.Chapter_ID " + GetSelectSql();
                lblTotalCount.Text  = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString();
                strSql              = " select * from  Random_Exam_Item_Select where RANDOM_EXAM_STRATEGY_ID=" + nID;
                lblSelectCount.Text = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString();
            }

            if (ViewState["mode"].ToString() == "ReadOnly")
            {
                SaveButton.Visible   = false;
                CancelButton.Visible = true;
                ddlType.Enabled      = false;
                txtMemo.Enabled      = false;
            }
        }
Exemple #22
0
        protected void GetItems()
        {
            ViewState["Refresh"]    = "ok";
            ViewState["Answers"]    = "";
            ViewState["SelectItem"] = "";
            ItemBLL itemBLL = new ItemBLL();

            string strBookID    = Server.UrlDecode(Request.QueryString.Get("BookID"));
            string strRangeType = Request.QueryString.Get("RangeType");
            int    nDifficultR  = Convert.ToInt32(Request.QueryString.Get("Num"));

            string[] strBook = strBookID.Split('/');
            string[] strType = strRangeType.Split('/');

            IList <RailExam.Model.Item> itemList = new List <RailExam.Model.Item>();

            int m = 0;

            if (strType[0] == "2" || strType[0] == "1")
            {
                itemList = itemBLL.GetItemsByStrategy(Convert.ToInt32(strType[0]), Convert.ToInt32(strBook[0]));
            }
            else
            {
                BookChapterBLL objChapterBll = new BookChapterBLL();
                ArrayList      objItemID     = new ArrayList();
                for (int i = 0; i < strBook.Length; i++)
                {
                    if (strType[i] == "4")
                    {
                        BookChapter objChapter = objChapterBll.GetBookChapter(Convert.ToInt32(strBook[i]));
                        if (objChapter.IsCannotSeeAnswer)
                        {
                            m = m + 1;
                            break;
                        }

                        IList <RailExam.Model.Item> objList = itemBLL.GetItemsByStrategy(4, Convert.ToInt32(strBook[i]));
                        foreach (RailExam.Model.Item item in objList)
                        {
                            if (objItemID.IndexOf(item.ItemId) == -1)
                            {
                                itemList.Add(item);
                                objItemID.Add(item.ItemId);
                            }
                        }
                    }
                }
            }

            if (m > 0)
            {
                Response.Write("<script>alert('存在被屏蔽试题的章节,请重新设置取题范围');window.parent.close();</script>");
                return;
            }

            if (itemList.Count >= nDifficultR)
            {
                Random    ObjRandom = new Random();
                Hashtable hashTable = new Hashtable();
                int       n         = 0;
                while (hashTable.Count < nDifficultR)
                {
                    int i = ObjRandom.Next(itemList.Count);
                    hashTable[itemList[i].ItemId] = itemList[i].ItemId;

                    if (string.IsNullOrEmpty(itemList[i].StandardAnswer))
                    {
                        n = n + 1;
                        break;
                    }
                }

                if (n == 1)
                {
                    Response.Write("<script>alert('存在没有标准答案的试题,请重新设置取题范围');window.parent.close();</script>");
                    return;
                }

                foreach (int key in hashTable.Keys)
                {
                    string strItemId = hashTable[key].ToString();
                    if (ViewState["SelectItem"] != null && ViewState["SelectItem"].ToString() != "")
                    {
                        ViewState["SelectItem"] += "|" + strItemId;
                    }
                    else
                    {
                        ViewState["SelectItem"] = strItemId;
                    }
                }
            }
            else
            {
                //Items = itemList;
                //for (int i = 0; i < Items.Count; i++)
                //{
                //    if (i == 0)
                //    {
                //        ViewState["SelectItem"] = Items[i].ItemId.ToString();
                //    }
                //    else
                //    {
                //        ViewState["SelectItem"] += "|" + Items[i].ItemId.ToString();
                //    }
                //}

                Response.Write("<script>alert('自主考试在设定的取题范围内的试题量不够,请重新设置取题范围');window.parent.close();</script>");
                return;
            }
        }
        protected void btnInput_Click(object sender, EventArgs e)
        {
            string strSql;

            for (int i = 0; i < gvBook.Rows.Count; i++)
            {
                CheckBox chk = (CheckBox)gvBook.Rows[i].FindControl("chSelect");

                string strKnowledgeId = ((HiddenField)gvBook.Rows[i].FindControl("hfKownledgeId")).Value;

                if (chk.Checked)
                {
                    strSql = "select a.*,b.Short_Name from Book a inner join Org b on a.Publish_Org=b.Org_ID where a.Book_ID=" + gvBook.DataKeys[i].Value.ToString();
                    DataSet ds = RunSqlDataSet(strSql);
                    DataRow dr = ds.Tables[0].Rows[0];

                    BookBLL             objBookbll = new BookBLL();
                    RailExam.Model.Book objBookNew = new RailExam.Model.Book();
                    objBookNew.bookId = Convert.ToInt32(dr["Book_ID"].ToString());

                    string strPath    = Server.MapPath(ConfigurationManager.AppSettings["BookDesigner"].ToString() + objBookNew.bookId + "/");
                    string strAimPath = Server.MapPath("../Online/Book/" + objBookNew.bookId + "/");
                    if (!Directory.Exists(strPath))
                    {
                        SessionSet.PageMessage = "有教材还未创建内容,暂不能导入!";
                        return;
                    }

                    objBookNew.bookName       = dr["Book_Name"].ToString();
                    objBookNew.bookNo         = dr["Book_No"].ToString();
                    objBookNew.authors        = dr["Authors"].ToString();
                    objBookNew.bookmaker      = dr["BookMaker"].ToString();
                    objBookNew.publishOrg     = Convert.ToInt32(dr["Publish_Org"].ToString());
                    objBookNew.publishOrgName = dr["Short_Name"].ToString();
                    objBookNew.revisers       = dr["Revisers"].ToString();
                    objBookNew.coverDesigner  = dr["Cover_Designer"].ToString();
                    objBookNew.keyWords       = dr["Keywords"].ToString();
                    objBookNew.pageCount      = Convert.ToInt32(dr["Page_Count"].ToString());
                    objBookNew.wordCount      = Convert.ToInt32(dr["Word_Count"].ToString());
                    objBookNew.Description    = dr["Description"].ToString();
                    objBookNew.url            = "../Book/" + dr["Book_ID"].ToString() + "/index.html";
                    objBookNew.Memo           = dr["Remark"].ToString();
                    objBookNew.knowledgeId    = Convert.ToInt32(strKnowledgeId);

                    //objBookbll.UpdateBook(objBookNew, ref errorCode);

                    strSql = "select * from Book_Chapter where Book_ID=" + gvBook.DataKeys[i].Value.ToString();
                    ds     = RunSqlDataSet(strSql);

                    BookChapterBLL objBookChapterBll = new BookChapterBLL();

                    //取得Access数据库中当前教材的所有的章节ID
                    ArrayList objAccessChapterList = new ArrayList();

                    //取得当前教材在oracle数据中所有章节ID
                    ArrayList objList = GetBookChapterList(Convert.ToInt32(gvBook.DataKeys[i].Value.ToString()));
                    foreach (DataRow dr1 in ds.Tables[0].Rows)
                    {
                        RailExam.Model.BookChapter objBookChapter = new RailExam.Model.BookChapter();

                        objBookChapter.ChapterId           = Convert.ToInt32(dr1["Chapter_ID"].ToString());
                        objBookChapter.BookId              = Convert.ToInt32(dr1["Book_ID"].ToString());
                        objBookChapter.ChapterName         = dr1["Chapter_Name"].ToString();
                        objBookChapter.ParentId            = Convert.ToInt32(dr1["Parent_ID"].ToString());
                        objBookChapter.LevelNum            = Convert.ToInt32(dr1["Level_Num"].ToString());
                        objBookChapter.OrderIndex          = Convert.ToInt32(dr1["Order_Index"].ToString());
                        objBookChapter.ReferenceRegulation = dr1["REFERENCE_REGULATION"].ToString();
                        objBookChapter.Description         = dr1["Description"].ToString();
                        objBookChapter.Memo = dr1["Remark"].ToString();
                        objBookChapter.Url  = "../Book/" + dr1["Book_ID"].ToString() + "/" + dr1["Chapter_ID"].ToString() + ".htm";

                        //如果该章节的ID已存在当前oracle数据库中则只需修改章节信息,否则添加信息
                        if (objList.IndexOf(objBookChapter.ChapterId) != -1)
                        {
                            objBookChapterBll.UpdateBookChapter(objBookChapter);
                        }
                        else
                        {
                            objBookChapterBll.AddBookChapter(objBookChapter);
                        }

                        objAccessChapterList.Add(objBookChapter.ChapterId);
                    }

                    //取得当前教材在oracle中的所有教材信息


                    IList <RailExam.Model.BookChapter> objOracleBookChapterList =
                        objBookChapterBll.GetBookChapterByBookID(objBookNew.bookId);

                    foreach (RailExam.Model.BookChapter chapter in objOracleBookChapterList)
                    {
                        //如果oracle数据库中某章节ID不在Access数据库中
                        if (objAccessChapterList.IndexOf(chapter.ChapterId) == -1)
                        {
                            ItemBLL objItemBll = new ItemBLL();
                            IList <RailExam.Model.Item> objItemList = objItemBll.GetItemsByBookBookId(objBookNew.bookId);

                            foreach (RailExam.Model.Item item in objItemList)
                            {
                                item.StatusId = 2;
                                objItemBll.UpdateItem(item);
                            }

                            objBookChapterBll.DeleteBookChapter(chapter.ChapterId);
                        }
                    }

                    if (Directory.Exists(Server.MapPath("../Online/Book/" + objBookNew.bookId + "/")))
                    {
                        //Directory.Delete(Server.MapPath("../Online/Book/" + objBookNew.bookId + "/"), true);
                        DeleteFile(Server.MapPath("../Online/Book/" + objBookNew.bookId + "/"));
                    }

                    CopyTemplate(strPath, strAimPath);
                }
            }
            BindGrid();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string  strBookChapterId = Request.QueryString.Get("id");
            ItemBLL objItemBll       = new ItemBLL();
            string  strItemTypeID    = Request.QueryString.Get("itemTypeID");

            if (!string.IsNullOrEmpty(strBookChapterId))
            {
                ComponentArt.Web.UI.TreeView tvBookChapterChapter = new ComponentArt.Web.UI.TreeView();

                BookChapterBLL bookChapterBLL = new BookChapterBLL();
                IList <RailExam.Model.BookChapter> bookChapterList = bookChapterBLL.GetBookChapterByBookID(int.Parse(strBookChapterId));

                if (bookChapterList.Count > 0)
                {
                    TreeViewNode tvn = null;

                    foreach (RailExam.Model.BookChapter bookChapter in bookChapterList)
                    {
                        if (bookChapter.IsMotherItem)
                        {
                            continue;
                        }
                        tvn       = new TreeViewNode();
                        tvn.ID    = bookChapter.ChapterId.ToString();
                        tvn.Value = bookChapter.ChapterId.ToString();
                        if (Request.QueryString.Get("item") != null && Request.QueryString.Get("item") == "no")
                        {
                            tvn.Text = bookChapter.ChapterName;
                        }
                        else
                        {
                            int n = objItemBll.GetItemsByBookChapterIdPath(bookChapter.IdPath, Convert.ToInt32(strItemTypeID));
                            if (n > 0)
                            {
                                tvn.Text = bookChapter.ChapterName + "(" + n + "题)";
                            }
                            else
                            {
                                tvn.Text = bookChapter.ChapterName;
                            }
                        }

                        tvn.ToolTip = bookChapter.ChapterName;

                        string strflag = Request.QueryString.Get("flag");
                        if (strflag != null && (strflag == "2" || strflag == "1"))
                        {
                            tvn.ShowCheckBox = true;
                        }

                        if (Request.QueryString.Get("state") != null)
                        {
                            tvn.Checked = Convert.ToBoolean(Request.QueryString.Get("state"));
                        }
                        else
                        {
                            if (Request.QueryString.Get("StrategyID") != null)
                            {
                                string str = "," + Request.QueryString.Get("StrategyID") + ",";
                                if (str.IndexOf("," + tvn.ID + ",") != -1)
                                {
                                    tvn.Checked = true;
                                }
                            }
                        }

                        tvn.Attributes.Add("isChapter", "true");
                        tvn.ImageUrl = "~/App_Themes/" + StyleSheetTheme + "/Images/TreeView/Chapter.gif";

                        if (bookChapter.ParentId == 0)
                        {
                            tvBookChapterChapter.Nodes.Add(tvn);
                        }
                        else
                        {
                            tvBookChapterChapter.FindNodeById(bookChapter.ParentId.ToString()).Nodes.Add(tvn);
                        }
                    }
                }

                Response.Clear();
                Response.ClearHeaders();
                Response.ContentType = "text/xml";
                Response.Cache.SetNoStore();

                string strXmlEncoding = string.Empty;
                try
                {
                    strXmlEncoding = System.Configuration.ConfigurationManager.AppSettings["CallbackEncoding"];
                }
                catch
                {
                    strXmlEncoding = "gb2312";
#if DEBUG
                    System.Diagnostics.Debug.WriteLine("Error Accessing Web.Config File!\r\n"
                                                       + "Using \"gb2312\"!");
#endif
                }
                if (string.IsNullOrEmpty(strXmlEncoding))
                {
                    strXmlEncoding = "gb2312";
#if DEBUG
                    System.Diagnostics.Debug.WriteLine("CallbackEncoding Empty in Web.Config File!\r\n"
                                                       + "Using \"gb2312\"!");
#endif
                }
                else
                {
                    try
                    {
                        System.Text.Encoding enc = System.Text.Encoding.GetEncoding(strXmlEncoding);
                    }
                    catch
                    {
#if DEBUG
                        System.Diagnostics.Debug.WriteLine("Invalid Encoding in Web.Config File!\r\n"
                                                           + "Using \"gb2312\"!");
#endif
                        strXmlEncoding = "gb2312";
                    }
                }

                Response.Write("<?xml version=\"1.0\" encoding=\"" + strXmlEncoding + "\" standalone=\"yes\" ?>\r\n"
                               + tvBookChapterChapter.GetXml());

                Response.Flush();
                Response.End();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack && !Grid1.IsCallback)
            {
                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }
                //if(HfChapterId.Value != "")
                //{
                //    BookChapterBLL objBll = new BookChapterBLL();
                //    BookChapter obj = objBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value));
                //    txtChapterName.Text = obj.NamePath;
                //}

                HfChapterId.Value = Request.QueryString.Get("cid");
                HfBookId.Value    = Request.QueryString.Get("bid");

                if (!string.IsNullOrEmpty(HfBookId.Value) && HfBookId.Value != "-1")
                {
                    BookBLL             objbookbill = new BookBLL();
                    RailExam.Model.Book objBook     = objbookbill.GetBook(Convert.ToInt32(HfBookId.Value));

                    if (PrjPub.CurrentLoginUser.SuitRange == 0 && PrjPub.IsServerCenter)
                    {
                        if (PrjPub.CurrentLoginUser.StationOrgID != objBook.publishOrg)
                        {
                            Response.Write("<script>alert('您没有导入当前教材章节试题的权限!');window.close();</script>");
                            return;
                        }
                    }

                    if (HfChapterId.Value != "-1")
                    {
                        BookChapterBLL objBll = new BookChapterBLL();
                        BookChapter    obj    = objBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value));
                        txtChapterName.Text = objBook.bookName + ">>" + obj.NamePath;

                        if (obj.IsCannotSeeAnswer)
                        {
                            ddlMode.Visible = true;
                        }
                        else
                        {
                            ddlMode.Visible       = false;
                            ddlMode.SelectedValue = "0";
                        }
                    }
                    else
                    {
                        txtChapterName.Text   = objBook.bookName;
                        ddlMode.Visible       = false;
                        ddlMode.SelectedValue = "0";
                    }
                    lblTitle.Visible  = true;
                    btnDelAll.Visible = true;
                }
                else
                {
                    lblTitle.Visible  = false;
                    btnDelAll.Visible = false;
                }

                if (!PrjPub.IsWuhanOnly())
                {
                    ddlMode.Visible       = false;
                    ddlMode.SelectedValue = "0";
                }

                ddlMode.Visible       = false;
                ddlMode.SelectedValue = "0";

                if (Session["table"] != null)
                {
                    Session.Remove("table");
                }
            }

            string str = Request.Form.Get("Refresh");

            if (str != null && str == "refresh")
            {
                if (Session["table"] != null)
                {
                    Grid1.DataSource = (DataTable)Session["table"];
                    Grid1.DataBind();
                }
            }
        }
Exemple #26
0
        private void FillPaperNoAnswer()
        {
            ItemBLL itemBLL      = new ItemBLL();
            string  strBookId    = Request.QueryString.Get("bookid");
            string  strChapterId = Request.QueryString.Get("ChapterId");

            if (strChapterId == "0")
            {
                IList <RailExam.Model.Item> Items1 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 1);
                IList <RailExam.Model.Item> Items2 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 2);
                IList <RailExam.Model.Item> Items3 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 3);
                IList <RailExam.Model.Item> Items4 = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 4);

                Response.Write("<div class='ExamBigTitle' style='text-align:center;' >");
                Response.Write(" 本教材共有" + Items1.Count + "道单选题、" + Items2.Count + "道多选题、<br>" + Items3.Count + "道判断题、" + Items4.Count + "道综合选择题,请点击章节查看练习题!");
                Response.Write("</div>");
            }
            else
            {
                BookChapterBLL objBll = new BookChapterBLL();
                BookChapter    obj    = objBll.GetBookChapter(Convert.ToInt32(strChapterId));
                hfCannotSeeAnswer.Value = obj.IsCannotSeeAnswer.ToString();

                if (Convert.ToBoolean(hfCannotSeeAnswer.Value))
                {
                    Response.Write("<div class='ExamBigTitle' style='text-align:center;' >");
                    Response.Write(" 本章节练习题已被屏蔽!");
                    Response.Write("</div>");
                    return;
                }


                int nCount = 0;
                //单选
                IList <RailExam.Model.Item> Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 1);
                decimal decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' >");
                    Response.Write(" 一、单选(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-1-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-1-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "1" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }

                //多选
                Items         = itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 2);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }

                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();
                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr> <td class='ExamBigTitle' >");
                    Response.Write(" 二、多选(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-2-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-2-" + +item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "2" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' onclick='CheckStyle(this)' id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] + "</td></tr>");
                        }
                    }
                    Response.Write("</table> ");
                }

                //判断
                Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 3);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' >");
                    Response.Write("三、判断(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item-3-" + j + "' class='ExamItem'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        string[] strAnswer = item.SelectAnswer.Split(new char[] { '|' });
                        for (int n = 0; n < strAnswer.Length; n++)
                        {
                            string strN  = intToString(n + 1);
                            string strij = "-3-" + item.ItemId + "-" + j.ToString() +
                                           "-" + n.ToString();
                            string strName = "3" + j.ToString();
                            Response.Write(
                                "<tr><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }

                //综合选择题
                Items =
                    itemBLL.GetExerciseItems(int.Parse(strBookId), int.Parse(strChapterId), 4);
                decTotalScore = 0;
                for (int i = 0; i < Items.Count; i++)
                {
                    RailExam.Model.Item item = Items[i];
                    decTotalScore += item.Score;
                }
                nCount += Items.Count;
                hfPaperItemsCount.Value = nCount.ToString();

                if (Items != null)
                {
                    Response.Write("<table class='ExamContent'>");
                    Response.Write("<tr><td class='ExamBigTitle' colspan='3'>");
                    Response.Write("四、综合选择题(共" + Items.Count + "题)</td></tr>");

                    for (int j = 0; j < Items.Count; j++)
                    {
                        RailExam.Model.Item item = Items[j];
                        int k = j + 1;

                        Response.Write("<tr><td id='Item" + j + "' class='ExamItem' colspan='3'>&nbsp;&nbsp;&nbsp;" + k + ".&nbsp;" + item.Content +
                                       "</td></tr>");

                        IList <RailExam.Model.Item> objChildList = itemBLL.GetItemsByParentItemID(item.ItemId);

                        foreach (RailExam.Model.Item item1 in objChildList)
                        {
                            string[] strAnswer = item1.SelectAnswer.Split(new char[] { '|' });
                            for (int n = 0; n < strAnswer.Length; n++)
                            {
                                string strN  = intToString(n + 1);
                                string strij = "-4-" + item1.ItemId + "-" + item1.ItemId +
                                               "-" + n.ToString();
                                string strName = "4" + item1.ItemId;

                                if (n == 0)
                                {
                                    int row = strAnswer.Length % 2 == 0 ? strAnswer.Length / 2 : strAnswer.Length / 2 + 1;
                                    Response.Write("<tr><td id='Item-4-" + item1.ItemId + "' class='ExamItemOther' style='width:10%;' RowSpan='" + row + "'>&nbsp;&nbsp;&nbsp;(" + item1.ItemIndex + ").&nbsp;</td>");
                                }

                                if (n % 2 == 0 && n != 0)
                                {
                                    Response.Write("<tr>");
                                }

                                Response.Write(
                                    "<td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='Radio' onclick='CheckStyle(this)'  id='RAnswer" +
                                    strij + "' name='RAnswer" + strName + "'> " + strN + "." + strAnswer[n] +
                                    "</td>");

                                if (n % 2 == 1)
                                {
                                    Response.Write("</tr>");
                                }
                            }
                        }
                    }
                    Response.Write(" </table> ");
                }

                if (!Convert.ToBoolean(hfCannotSeeAnswer.Value))
                {
                    Response.Write("<div class='ExamButton'><input class='button' type='button' onclick='SaveRecord()' value='提交练习'/></div>");
                }
                Response.Write("<br><br>");
            }
        }