Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
                }
            }
        }