예제 #1
0
        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();
        }
예제 #2
0
        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();
        }