protected void SaveChoose() { string strId = ViewState["ExamID"].ToString(); string strEndId = ""; //for (int i = 0; i < this.gvChoose.Rows.Count; i++) //{ // string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text; // if (strEndId.Length == 0) // { // strEndId += strEmId; // } // else // { // if (strEndId == "0") // { // strEndId = strEmId; // } // else // { // strEndId += "," + strEmId; // } // } //} //if (ViewState["HasExamId"].ToString() != "" && strEndId != "") //{ // strEndId = ViewState["HasExamId"].ToString() + "," + strEndId; //} //else //{ // strEndId = ""; //} //if (strEndId == "") //{ // strEndId = "0"; //} OracleAccess db = new OracleAccess(); //查询考试在当前站段考试的考生信息 string strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID" + " where Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { if (strEndId.Length == 0) { strEndId += dr["User_Ids"].ToString(); } else { strEndId += "," + dr["User_Ids"]; } } //新增 if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); if (!PrjPub.IsServerCenter) { examArrangeBLL.AddRandomExamArrangeToServer(examArrange); } else { examArrangeBLL.AddRandomExamArrange(examArrange); } ViewState["UpdateMode"] = 1; SessionSet.PageMessage = "保存成功!"; return; } //修改 if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); if (!PrjPub.IsServerCenter) { examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strEndId); } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId); } SessionSet.PageMessage = "保存成功!"; return; } }
protected void SaveChoose() { string strId = Request.QueryString.Get("id"); string strEndId = ViewState["ChooseId"].ToString(); if (strEndId == "") { strEndId = "0"; } else { RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId)); if (random.RandomExamModularTypeID > 1) { OracleAccess db = new OracleAccess(); string strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" + random.RandomExamModularTypeID; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = "select * from Random_Exam_Modular_Type where Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = " select a.* " + "from Random_Exam_Result a " + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID " + " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID " + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataSet ds = db.RunSqlDataSet(strSql); strSql = "select * from Employee where Employee_ID in (" + strEndId + ")"; DataSet dsEmp = db.RunSqlDataSet(strSql); string[] str = strEndId.Split(','); string strErrorMessage = string.Empty; for (int i = 0; i < str.Length; i++) { DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + str[i]); if (drs.Length == 0) { DataRow[] drsEmp = dsEmp.Tables[0].Select("Employee_ID=" + str[i]); strErrorMessage = "所选考生【" + drsEmp[0]["Employee_Name"] + "】未能通过【" + drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" + dr["Random_Exam_Modular_Type_Name"] + "】考试!"; break; } } if (!string.IsNullOrEmpty(strErrorMessage)) { SessionSet.PageMessage = strErrorMessage; return; } } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); IList <RandomExamArrange> objList = examArrangeBLL.GetRandomExamArranges(int.Parse(strId)); if (objList.Count == 0) { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")) && !PrjPub.IsServerCenter) { examArrangeBLL.AddRandomExamArrangeToServer(examArrange); } else { examArrangeBLL.AddRandomExamArrange(examArrange); } ViewState["UpdateMode"] = 1; if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>"); } else { string strSql = ""; OracleAccess db = new OracleAccess(); strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId; db.ExecuteNonQuery(strSql); SessionSet.PageMessage = "添加成功!"; return; } } else { ViewState["UpdateMode"] = "1"; } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); IList <RandomExamArrange> objList = examArrangeBLL.GetRandomExamArranges(int.Parse(strId)); string strNew = objList[0].UserIds; string[] str = strEndId.Split(','); for (int i = 0; i < str.Length; i++) { if (("," + strNew + ",").IndexOf("," + str[i] + ",") < 0) { strNew += strNew == string.Empty ? str[i] : "," + str[i]; } } if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { //examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strAdd); string strAddIds = string.Empty; for (int i = 0; i < str.Length; i++) { if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") < 0) { strAddIds += strAddIds == string.Empty ? str[i] : "," + str[i]; } } OracleAccess db = new OracleAccess(); OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); XmlDocument doc = new XmlDocument(); //Request.PhysicalApplicationPath取得config文件路径 doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config")); XmlNode node = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase"); string value = node.Value; if (value == "Oracle") { OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob); OracleParameter para2 = new OracleParameter("p_random_Exam_ID", OracleType.Number); para2.Value = int.Parse(strId); IDataParameter[] paras = new IDataParameter[] { para1, para2 }; examArrangeBLL.RunUpdateProcedure(true, "USP_random_Exam_Arrange_U", paras, System.Text.Encoding.Unicode.GetBytes(strEndId)); } string strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID" + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID" + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' " + " and Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = User_ids || '," + strAddIds + "' " + "where Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"]; dbCenter.ExecuteNonQuery(strSql); if (!PrjPub.IsServerCenter) { examArrangeBLL.RefreshRandomExamArrange(); } } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strNew); } if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { //SessionSet.PageMessage = "添加成功!"; Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>"); } else { string strSql = ""; OracleAccess db = new OracleAccess(); strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId; db.ExecuteNonQuery(strSql); SessionSet.PageMessage = "添加成功!"; return; } } }