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 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(); }