Ejemplo n.º 1
0
        private void ResultForm_Load(object sender, EventArgs e)
        {
            lResultID.Text     = user.UserID.ToString();
            lResultName.Text   = user.LastName + " " + user.FirstName;
            lResultPhone.Text  = user.Mobile;
            lResultBirth.Text  = user.Birthday.ToShortDateString();
            lResultAdress.Text = user.Address;

            Result result = QuestionBLL.getResult(this.listQ, this.listAns);

            chart1.Series["Result"].Points.AddXY("Correct", result.numberOfCorrect);
            chart1.Series["Result"].Points.AddXY("InCorrect", (result.totalOfQuestion - result.numberOfCorrect));
            chart1.Series["Result"].Points[0].Color = Color.LightGreen;
            chart1.Series["Result"].Points[1].Color = Color.Red;

            lCorrect.Text    = result.numberOfCorrect.ToString();
            lIncorrect.Text  = (result.totalOfQuestion - result.numberOfCorrect).ToString();
            labelResult.Text = result.totalOfQuestion.ToString();

            float mark = (float)result.numberOfCorrect;

            Exam_UserBLL.setMark((int)mark, user.UserID, exam.ExamID);
            if (mark >= exam.ExamMark)
            {
                labelStatus.Text      = "Đã Qua";
                labelStatus.BackColor = Color.LightGreen;
            }
            else
            {
                labelStatus.Text      = "Chưa Qua";
                labelStatus.BackColor = Color.Red;
            }

            //chart1.Series["inCorrect"].Points.AddXY("Incorrect", 1000);
        }
Ejemplo n.º 2
0
 protected void QuestionOk_Click(object sender, EventArgs e)
 {
     if (ErrQuestionList.Count == 0)
     {
         if (QuestionList.Count > 0)
         {
             QuestionOk.Enabled = false;
             int QuestionNum = 0;
             foreach (QuestionInfo Item in QuestionList)
             {
                 Item.CateId    = CateId;
                 Item.CompanyId = 0;
                 if (Item.Style != "0" && !string.IsNullOrEmpty(Item.Style))
                 {
                     QuestionBLL.AddQuestion(Item);
                     QuestionNum++;
                 }
             }
             ScriptHelper.Alert("成功导入" + QuestionNum.ToString() + "道试题!");
         }
         else
         {
             ScriptHelper.Alert("异常错误,请重新导入!");
         }
     }
     else
     {
         ScriptHelper.Alert("请修正完错误后,再入库!");
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 取出考试题目
        /// <para value=CateId></para>
        /// </summary>
        private QuestionJsonInfo GetQuestions()
        {
            int         id       = RequestHelper.GetForm <int>("ID");
            XmlNodeList nodeList = QuestionBLL.ReadQuestionXmlList(base.UserID, RequestHelper.GetForm <int>("CateID"), RequestHelper.GetForm <string>("StyleID"), id);

            return(this.GetQuestions(nodeList, id));
        }
Ejemplo n.º 4
0
        private void TestForm_Load(object sender, EventArgs e)
        {
            Hide();
            labelName.Text        = user.FirstName + " " + user.LastName;
            labelInforName.Text   = user.FirstName + " " + user.LastName;
            labelInforID.Text     = user.UserID.ToString();
            labelInforPhone.Text  = user.Mobile;
            labelInforBirth.Text  = user.Birthday.ToShortDateString();
            labelInforAdress.Text = user.Address;
            labelTitle.Text       = exam.ExamTitle;

            min        = exam.ExamTime.Minutes;
            lTime.Text = min.ToString();
            min       *= 60;

            listQ                 = QuestionBLL.getRandomListQ(exam.ExamID);
            totalDone             = listQ.Count;
            labelNotSelected.Text = totalDone.ToString();
            listAns               = new List <string>();
            iSImageQuestion.CurrentImageIndexChanged += iSImageQuestion_CurrentImageIndexChanged;
            foreach (Question item in listQ)
            {
                try
                {
                    iSImageQuestion.Images.Add(QuestionBLL.getImage(item.QuestionImage));
                }
                catch (Exception)
                {
                    MessageBox.Show("internet is not connected");
                    System.Threading.Thread.Sleep(3000);
                    this.Close();
                }

                listAns.Add(string.Empty);
            }
            listButton = new List <Button>();
            for (var i = 1; i <= listQ.Count; i++)
            {
                var b = new Button();
                b.Text      = i + string.Empty;
                b.Size      = new Size(60, 60);
                b.BackColor = Color.WhiteSmoke;

                listButton.Add(b);
                b.Click += selectQuestion_Click;
                fLpListNumber.Controls.Add(b);
            }

            listCheckButton = new List <CheckButton>();
            listCheckButton.Add(cbAnsA);
            listCheckButton.Add(cbAnsB);
            listCheckButton.Add(cbAnsC);
            listCheckButton.Add(cbAnsD);
            label17.Text = listQ.Count.ToString();
            Show();
        }
Ejemplo n.º 5
0
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            base.CheckAdminPower("DeleteQuestion", PowerCheckType.Single);
            string intsForm = RequestHelper.GetIntsForm("SelectID");

            if (intsForm != string.Empty)
            {
                QuestionBLL.DeleteQuestion(intsForm);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Question"), intsForm);
                ScriptHelper.Alert(ShopLanguage.ReadLanguage("DeleteOK"), RequestHelper.RawUrl);
            }
        }
Ejemplo n.º 6
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            base.CheckAdminPower("DeleteCourse", PowerCheckType.Single);
            string ID = RequestHelper.GetIntsForm("SelectID");

            string[] Arr = ID.Split(',');
            for (int i = 0; i < Arr.Length; i++)
            {
                CourseBLL.DeleteCourse(int.Parse(Arr[i]));
                QuestionBLL.DeleteQuestionByCateId(int.Parse(Arr[i]));
            }
            AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Course"), ID);
            ScriptHelper.Alert(ShopLanguage.ReadLanguage("DeleteOK"), RequestHelper.RawUrl);
        }
Ejemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int    id     = RequestHelper.GetQueryString <int>("ID");
            string Action = RequestHelper.GetQueryString <string>("Action");

            if (Action == "Delete")
            {
                if (id != int.MinValue)
                {
                    base.CheckAdminPower("DeleteQuestion", PowerCheckType.Single);
                    QuestionBLL.DeleteQuestion(id);
                    AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("DeleteRecord"), ShopLanguage.ReadLanguage("Question"), id);
                }
            }
            if (!IsPostBack)
            {
                base.CheckAdminPower("ReadQuestion", PowerCheckType.Single);

                updateQuestionPower = base.CompareAdminPower("UpdateQuestion", PowerCheckType.Single);
                deleteQuestionPower = base.CompareAdminPower("DeleteQuestion", PowerCheckType.Single);
                //在此处加载搜索框的信息
                //题型下拉框
                SearchQuestionStyle.DataSource     = EnumHelper.ReadEnumList <QuestionType>();
                SearchQuestionStyle.DataValueField = "Value";
                SearchQuestionStyle.DataTextField  = "ChineseName";
                SearchQuestionStyle.DataBind();
                SearchQuestionStyle.Items.Insert(0, new ListItem("选择题型", string.Empty));

                CourseCateInfo CourseCateModel = new CourseCateInfo();
                CourseCateModel.Condition     = systemCompanyId.ToString();
                SearchCategory.DataSource     = CourseCateBLL.ReadCourseCateNamedList(CourseCateModel);
                SearchCategory.DataTextField  = "CateName";
                SearchCategory.DataValueField = "CateId";
                SearchCategory.DataBind();
                SearchCategory.Items.Insert(0, new ListItem("可以指定类别", int.MinValue.ToString()));

                QuestionInfo Model = new QuestionInfo();
                Model.Style       = RequestHelper.GetQueryString <string>("Style");
                Model.Question    = RequestHelper.GetQueryString <string>("QuestionName");
                Model.IdCondition = RequestHelper.GetQueryString <string>("IdCondition");
                Model.Field       = "CompanyId";
                Model.Condition   = systemCompanyId.ToString();
                base.BindControl(QuestionBLL.ReadList(Model, base.CurrentPage, base.PageSize, ref this.Count), this.RecordList, this.MyPager);//

                SearchQuestionName.Text           = Model.Question;
                SearchQuestionStyle.SelectedValue = Model.Style;
            }
        }
Ejemplo n.º 8
0
        public ResultForm()
        {
            DataClasses1DataContext db = new DataClasses1DataContext();

            this.listQ = QuestionBLL.getRandomListQ(1);
            exam       = ExamsBLL.getExamsByID(1);
            List <String> list = new List <string>();

            list.Add("12"); //q1
            list.Add("1");  //q2
            list.Add("1");  //q3
            list.Add("2");  //q4
            list.Add("1");  //q5
            list.Add("1");  //q6
            list.Add("12"); //q7
            for (int i = 0; i < 23; i++)
            {
                list.Add("1234");
            }
            this.listAns = list;
            this.user    = db.Users.Where(x => x.UserID == 3).FirstOrDefault();
            InitializeComponent();
        }
Ejemplo n.º 9
0
        protected void ExcelOut(string CateId, string TestName, int Num, int Type)
        {
            //生成Excel开始
            string FilePath    = "~/xml/Demo.xls";
            string NewTestName = "Sheet2";

            if (Type == 2)
            {
                NewTestName = TestName + "答案";
            }

            XlsDocument xls = new XlsDocument();                           //创建空xls文档

            xls.FileName = Server.MapPath(FilePath);                       //保存路径,如果直接发送到客户端的话只需要名称 生成名称

            Worksheet sheet  = xls.Workbook.Worksheets.AddNamed(TestName); //创建一个工作页为Dome
            Worksheet sheet2 = xls.Workbook.Worksheets.AddNamed(NewTestName);

            //设置文档列属性
            //ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性
            //cinfo.Collapsed = true;
            ////设置列的范围 如 0列-10列
            //cinfo.ColumnIndexStart = 0;//列开始
            //cinfo.ColumnIndexEnd = 10;//列结束
            //cinfo.Collapsed = true;
            //cinfo.Width = 90 * 60;//列宽度
            //sheet.AddColumnInfo(cinfo);
            //设置文档列属性结束

            //设置指定工作页跨行跨列
            MergeArea ma = new MergeArea(1, 1, 1, 2);//从第1行跨到第二行,从第一列跨到第5列

            sheet.AddMergeArea(ma);
            ma = new MergeArea(1, 1, 1, 3);
            sheet2.AddMergeArea(ma);
            //设置指定工作页跨行跨列结束

            //创建列样式创建列时引用
            XF cellXF = xls.NewXF();

            cellXF.VerticalAlignment   = VerticalAlignments.Centered;
            cellXF.HorizontalAlignment = HorizontalAlignments.Centered;
            cellXF.Font.Height         = 24 * 12;
            cellXF.Font.Bold           = true;
            //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充
            //cellXF.PatternBackgroundColor = Colors.Red;//填充的背景底色
            //cellXF.PatternColor = Colors.Red;//设定填充线条的颜色
            //创建列样式结束

            //创建列
            Cells cells  = sheet.Cells;  //获得指定工作页列集合
            Cells cells2 = sheet2.Cells; //获得指定工作页列集合
            //列操作基本
            //Cell cell = cells.Add(1, 1, TestName, cellXF);//添加标题列返回一个列  参数:行 列 名称 样式对象
            Cell cell = cells.Add(1, 1, TestName, cellXF);

            if (Type == 2)
            {
                cells2.Add(1, 1, NewTestName);
            }

            //设置XY居中
            cell.HorizontalAlignment = HorizontalAlignments.Centered;
            cell.VerticalAlignment   = VerticalAlignments.Centered;
            //设置字体
            cell.Font.Bold       = true;               //设置粗体
            cell.Font.ColorIndex = 0;                  //设置颜色码
            cell.Font.FontFamily = FontFamilies.Roman; //设置字体 默认为宋体
            //创建列结束


            //创建数据

            QuestionInfo QuestionModel = new QuestionInfo();

            QuestionModel.IdCondition = CateId;
            if (Num != 0)
            {
                QuestionModel.QuestionNum = " Top " + Num.ToString() + " * ";
            }
            List <QuestionInfo> QuestionList = QuestionBLL.ReadList(QuestionModel);
            int LineNum  = 1;
            int LineNum2 = 1;
            //题型的题号
            int StyleNum = 1;
            //题型号转为中文
            string StyleCNNum = string.Empty;
            //题型的中文名称
            string StyleName = string.Empty;

            for (int j = 1; j <= 3; j++)
            {
                List <QuestionInfo> StyleList = QuestionList.FindAll(delegate(QuestionInfo TempModel) { return(TempModel.Style == j.ToString()); });
                if (StyleList.Count > 0)
                {
                    switch (StyleNum)
                    {
                    case 1:
                        StyleCNNum = "一";
                        break;

                    case 2:
                        StyleCNNum = "二";
                        break;

                    case 3:
                        StyleCNNum = "三";
                        break;
                    }
                    switch (j)
                    {
                    case 1:
                        StyleName = "单项选择题";
                        break;

                    case 2:
                        StyleName = "多项选择题";
                        break;

                    case 3:
                        StyleName = "判断题";
                        break;
                    }
                    if (Type == 2)
                    {
                        cells2.Add(LineNum2 + 1, 1, StyleCNNum + "、");
                        cells2.Add(LineNum2 + 1, 2, StyleName);
                        LineNum2 = LineNum2 + 2;
                    }
                    cells.Add(LineNum + 1, 1, StyleCNNum + "、");
                    cells.Add(LineNum + 1, 2, StyleName);
                    StyleNum++;
                    LineNum = LineNum + 2;


                    for (int i = 0; i < StyleList.Count; i++)
                    {
                        cells.Add(LineNum + 1, 1, i + 1 + "、");//添加列,不设置列属性就不用返回列对象
                        if (Type == 2)
                        {
                            cells2.Add(LineNum2 + 1, 2, i + 1 + "、");
                        }
                        if (Type == 1)
                        {
                            cells.Add(LineNum + 1, 2, StyleList[i].Question);//添加列,不设置列属性就不用返回列对象

                            if (j != 3)
                            {
                                cells.Add(LineNum + 2, 1, "A、");
                                cells.Add(LineNum + 2, 2, StyleList[i].A);

                                cells.Add(LineNum + 3, 1, "B、");
                                cells.Add(LineNum + 3, 2, StyleList[i].B);

                                cells.Add(LineNum + 4, 1, "C、");
                                cells.Add(LineNum + 4, 2, StyleList[i].C);

                                cells.Add(LineNum + 5, 1, "D、");
                                cells.Add(LineNum + 5, 2, StyleList[i].D);

                                cells.Add(LineNum + 6, 1, "答案:");
                                cells.Add(LineNum + 6, 2, StyleList[i].Answer.ToUpper());

                                LineNum = LineNum + 7;
                            }
                            else
                            {
                                cells.Add(LineNum + 2, 1, "改错:");
                                cells.Add(LineNum + 2, 2, StyleList[i].A);
                                LineNum = LineNum + 3;
                            }
                        }
                        else if (Type == 2)
                        {
                            cells.Add(LineNum + 1, 2, StyleList[i].Question.Replace("~", ""));//添加列,不设置列属性就不用返回列对象

                            if (j != 3)
                            {
                                cells.Add(LineNum + 2, 2, "A、" + StyleList[i].A);

                                cells.Add(LineNum + 3, 2, "B、" + StyleList[i].B);

                                cells.Add(LineNum + 4, 2, "C、" + StyleList[i].C);

                                cells.Add(LineNum + 5, 2, "D、" + StyleList[i].D);

                                LineNum = LineNum + 6;


                                cells2.Add(LineNum2 + 1, 3, StyleList[i].Answer);
                            }
                            else
                            {
                                cells.Add(LineNum + 2, 2, "改错:");
                                LineNum = LineNum + 3;

                                if (StyleList[i].Answer == "0")
                                {
                                    cells2.Add(LineNum2 + 1, 3, StyleList[i].A);
                                }
                                else
                                {
                                    cells2.Add(LineNum2 + 1, 3, "√");
                                }
                            }

                            LineNum2 = LineNum2 + 1;
                        }
                    }
                }
            }
            //
            //生成保存到服务器如果存在不会覆盖并且报异常所以先删除在保存新的
            //ScriptHelper.Alert(Server.MapPath("~/Demo.xls"));
            if (File.Exists(Server.MapPath(FilePath)))
            {
                File.Delete(Server.MapPath(FilePath));//删除
            }
            //保存文档
            xls.Save(Server.MapPath(FilePath)); //保存到服务器
            xls.Send();                         //发送到客户端
        }
Ejemplo n.º 10
0
        protected void ExcelOut(XlsDocument xls, string CateId, string TestName, int Num, int Type)
        {
            Worksheet sheet = xls.Workbook.Worksheets.AddNamed(TestName); //创建一个工作页为Dome

            //设置文档列属性
            //ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性
            //cinfo.Collapsed = true;
            ////设置列的范围 如 0列-10列
            //cinfo.ColumnIndexStart = 0;//列开始
            //cinfo.ColumnIndexEnd = 10;//列结束
            //cinfo.Collapsed = true;
            //cinfo.Width = 90 * 60;//列宽度
            //sheet.AddColumnInfo(cinfo);
            //设置文档列属性结束

            //设置指定工作页跨行跨列
            MergeArea ma = new MergeArea(1, 1, 1, 2);//从第1行跨到第二行,从第一列跨到第5列

            sheet.AddMergeArea(ma);
            ma = new MergeArea(1, 1, 1, 3);
            //设置指定工作页跨行跨列结束

            //创建列样式创建列时引用
            XF cellXF = xls.NewXF();

            cellXF.VerticalAlignment   = VerticalAlignments.Centered;
            cellXF.HorizontalAlignment = HorizontalAlignments.Centered;
            cellXF.Font.Height         = 24 * 12;
            cellXF.Font.Bold           = true;
            //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充
            //cellXF.PatternBackgroundColor = Colors.Red;//填充的背景底色
            //cellXF.PatternColor = Colors.Red;//设定填充线条的颜色
            //创建列样式结束

            //创建列
            Cells cells = sheet.Cells; //获得指定工作页列集合
            //列操作基本
            //Cell cell = cells.Add(1, 1, TestName, cellXF);//添加标题列返回一个列  参数:行 列 名称 样式对象
            Cell cell = cells.Add(1, 1, TestName, cellXF);

            //设置XY居中
            cell.HorizontalAlignment = HorizontalAlignments.Centered;
            cell.VerticalAlignment   = VerticalAlignments.Centered;
            //设置字体
            cell.Font.Bold       = true;               //设置粗体
            cell.Font.ColorIndex = 0;                  //设置颜色码
            cell.Font.FontFamily = FontFamilies.Roman; //设置字体 默认为宋体
            //创建列结束

            //创建数据
            QuestionInfo QuestionModel = new QuestionInfo();

            QuestionModel.IdCondition = CateId;
            if (Num != 0)
            {
                QuestionModel.QuestionNum = " Top " + Num.ToString() + " * ";
            }
            List <QuestionInfo> QuestionList = QuestionBLL.ReadList(QuestionModel);
            int LineNum  = 1;
            int LineNum2 = 1;
            //题型的题号
            int StyleNum = 1;
            //题型号转为中文
            string StyleCNNum = string.Empty;
            //题型的中文名称
            string StyleName = string.Empty;

            for (int j = 1; j <= 3; j++)
            {
                List <QuestionInfo> StyleList = QuestionList.FindAll(delegate(QuestionInfo TempModel) { return(TempModel.Style == j.ToString()); });
                if (StyleList.Count > 0)
                {
                    switch (StyleNum)
                    {
                    case 1:
                        StyleCNNum = "一";
                        break;

                    case 2:
                        StyleCNNum = "二";
                        break;

                    case 3:
                        StyleCNNum = "三";
                        break;
                    }
                    switch (j)
                    {
                    case 1:
                        StyleName = "单项选择题";
                        break;

                    case 2:
                        StyleName = "多项选择题";
                        break;

                    case 3:
                        StyleName = "判断题";
                        break;
                    }
                    if (Type == 2)
                    {
                        LineNum2 = LineNum2 + 2;
                    }
                    cells.Add(LineNum + 1, 1, StyleCNNum + "、");
                    cells.Add(LineNum + 1, 2, StyleName);
                    StyleNum++;
                    LineNum = LineNum + 2;


                    for (int i = 0; i < StyleList.Count; i++)
                    {
                        cells.Add(LineNum + 1, 1, i + 1 + "、");//添加列,不设置列属性就不用返回列对象
                        if (Type == 1)
                        {
                            cells.Add(LineNum + 1, 2, StyleList[i].Question);//添加列,不设置列属性就不用返回列对象

                            if (j != 3)
                            {
                                cells.Add(LineNum + 2, 1, "A、");
                                cells.Add(LineNum + 2, 2, StyleList[i].A);

                                cells.Add(LineNum + 3, 1, "B、");
                                cells.Add(LineNum + 3, 2, StyleList[i].B);

                                cells.Add(LineNum + 4, 1, "C、");
                                cells.Add(LineNum + 4, 2, StyleList[i].C);

                                cells.Add(LineNum + 5, 1, "D、");
                                cells.Add(LineNum + 5, 2, StyleList[i].D);

                                cells.Add(LineNum + 6, 1, "答案:");
                                cells.Add(LineNum + 6, 2, StyleList[i].Answer.ToUpper());

                                LineNum = LineNum + 7;
                            }
                            else
                            {
                                cells.Add(LineNum + 2, 1, "改错:");
                                cells.Add(LineNum + 2, 2, StyleList[i].A);
                                LineNum = LineNum + 3;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (Action == "CourseFileOut")
         {
             filein.Style["display"]   = "none";
             ListShow.Style["display"] = "none";
             FileInButton.Visible      = false;
             CourseName.Text           = CourseBLL.ReadCourse(CateId).CourseName;
         }
         else if (Action == "CourseFileIn")
         {
             filein.Style["display"]   = "";
             fileout.Style["display"]  = "none";
             ListShow.Style["display"] = "";
             FileOutButton.Visible     = false;
             QuestionOutButton.Visible = false;
             CourseName.Text           = CourseBLL.ReadCourse(CateId).CourseName + "【现有题目数量:" + QuestionBLL.ReadList(CateId).Count.ToString() + "】";
         }
         else if (Action == "TestCateFileOut")
         {
             filein.Style["display"]   = "none";
             ListShow.Style["display"] = "none";
             FileInButton.Visible      = false;
             CourseName.Text           = ProductBLL.ReadProduct(CateId).Name;
         }
         else if (Action == "BatchFileOut")
         {
             filein.Style["display"]   = "none";
             ListShow.Style["display"] = "none";
             FileInButton.Visible      = false;
             QuestionOutButton.Visible = false;
             CourseName.Text           = "批量导出";
         }
     }
 }
Ejemplo n.º 12
0
        protected override void PageLoad()
        {
            int    companyID = base.UserCompanyID;
            int    userID    = base.UserID;
            string filePath  = TestPaperBLL.ReadTestPaperPath(userID, productID);

            base.PageLoad();
            base.ClearCache();
            base.Title = "考试中心";
            if (productID == int.MinValue)
            {
                ScriptHelper.Alert("请在“课程列表”中选择课程后,进行考试!");
            }
            TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(companyID, productID);
            ProductInfo     product     = ProductBLL.ReadProduct(productID);

            //if (!CompanyBLL.IsTest)
            //{
            //    Response.Write("<script>alert('该公司不允许考试,请联系管理员!');var DG = frameElement.lhgDG;DG.cancel();</script>");
            //    Response.End();
            //}
            RenZhengCateInfo renZhengProduct = RenZhengCateBLL.ReadTestCateByID(product.ID);

            if (renZhengProduct != null)
            {
                PostApprover postApprover = new PostApprover(PostPassBLL.ReadPostPassList(new PostPassInfo()
                {
                    UserId = userID, IsRZ = 1
                }));
                if (!postApprover.IsTest(renZhengProduct.PostId))
                {
                    Response.Write("<script>alert('请先完成 " + PostBLL.ReadPost(postApprover.NextPostID).PostName + " 的岗位综合认证!');window.close();</script>");
                    Response.End();
                }
            }
            if (testSetting.TestStartTime.HasValue && testSetting.TestEndTime.HasValue)
            {
                //if (product.ClassID != 4387)
                //{
                //    if (Convert.ToDateTime(testSetting.TestStartTime) > DateTime.Now || Convert.ToDateTime(testSetting.TestEndTime) < DateTime.Now)
                //    {
                //        Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');var DG = frameElement.lhgDG;DG.cancel();</script>");
                //        Response.End();
                //    }
                //}
                //else
                //{
                if (testSetting.TestStartTime > DateTime.Now || testSetting.TestEndTime < DateTime.Now) //&& Convert.ToDateTime(testSetting.TestStartTime).Minute <= DateTime.Now.Minute && Convert.ToDateTime(testSetting.TestEndTime).Minute >= DateTime.Now.Minute
                {
                    Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');window.close();</script>");
                    Response.End();
                }
                //}
            }

            TestPaperInfo PaperModel = new TestPaperInfo();

            PaperModel.CateIdCondition = productID.ToString();
            PaperModel.UserIdCondition = userID.ToString();
            List <TestPaperInfo> PaperList = TestPaperBLL.NewReadList(PaperModel);

            if (PaperList.Count > 0)
            {
                foreach (TestPaperInfo Item in PaperList)
                {
                    if (Item.IsPass == 1)// && Item.CateId != 5368孟特销售工具应用与说明 需要多次考试
                    {
                        Response.Write("<script>alert('您已通过,请选择其它课程!');</script>");
                        Response.End();
                    }
                    if ((DateTime.Now - Item.TestDate).TotalHours < testSetting.TestInterval)
                    {
                        if (testSetting.TestStartTime.HasValue || testSetting.TestEndTime.HasValue)
                        {
                            Response.Write("<script>alert('您已经参加过考试,暂不能重考!');window.close();</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('考完" + testSetting.TestInterval + "小时后才能重考,请选择其它课程!');window.close();</script>");
                        }
                        Response.End();
                    }
                }
            }

            if ((File.Exists(filePath) && (DateTime.Now - File.GetLastWriteTime(filePath)).TotalHours < testSetting.TestInterval))//TempPaperInfo != null && (DateTime.Now - TempPaperInfo.TestDate).TotalHours < 72
            {
                bool      HaveTest = false;
                XmlHelper XmlDoc1  = new XmlHelper(filePath);
                for (int StyleId = 1; StyleId <= 3; StyleId++)
                {
                    string NodeName = "TestPaper";
                    if (StyleId == 1)
                    {
                        NodeName = NodeName + "/Single";
                    }
                    else if (StyleId == 2)
                    {
                        NodeName = NodeName + "/Multi";
                    }
                    else if (StyleId == 3)
                    {
                        NodeName = NodeName + "/PanDuan";
                    }
                    //判断题型库里是否有考题
                    XmlNode Node = XmlDoc1.ReadNode(NodeName);
                    if (Node != null && Node.HasChildNodes)
                    {
                        XmlNodeList NodeList = XmlDoc1.ReadChildNodes(NodeName);
                        //遍历节点
                        foreach (XmlNode node in NodeList)
                        {
                            if (!string.IsNullOrEmpty(node.ChildNodes[6].InnerText))
                            {
                                HaveTest = true;
                            }
                        }
                    }
                }
                if (HaveTest)
                {
                    AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("TestPaperRecord"), ShopLanguage.ReadLanguage("TestPaper"), productID);
                    TestPaperInfo testpaper = TestPaperBLL.CalcTestResult(companyID, userID, productID);
                    if (testpaper.IsPass == 1)
                    {
                        PostPassBLL.CheckPostPass(UserID, productID);

                        //孟特销售工具应用与说明 课程处理
                        //if (productID == 5368)
                        //    TestSettingBLL.SpecialTestHandle(userID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId")));
                    }
                    ResponseHelper.Write("<script>alert('您上次未完成交卷,此时系统自动为您补交!得分:" + testpaper.Scorse + "分。');window.close();</script>");
                    Response.End();
                }
            }

            //开启防止多次开启同一课程考试
            //TestSettingBLL.TestBegin(userID, productID);

            paperName = product.Name;
            testTime  = (testSetting.TestTimeLength * 60).ToString();

            QuestionBLL.ReadQuestionXmlList(productID, product.Accessory, companyID, userID);
            XmlHelper XmlDoc = new XmlHelper(filePath);


            paperInfoHtml.AppendLine("<p>考试时长:" + testSetting.TestTimeLength.ToString() + " 分钟</p>");
            paperInfoHtml.AppendLine("<p>试卷总分:" + testSetting.PaperScore.ToString() + " 分</p>");
            paperInfoHtml.AppendLine("<p>试题数量:共 " + XmlDoc.ReadAttribute("TestPaper", "QuestionNum") + " 道。其中 ");
            string TempNum = XmlDoc.ReadAttribute("TestPaper", "SingleNum");

            if (int.Parse(TempNum) > 0)
            {
                paperInfoHtml.Append("单项选择题:" + TempNum + " 道;");
            }
            TempNum = XmlDoc.ReadAttribute("TestPaper", "MultiNum");
            if (int.Parse(TempNum) > 0)
            {
                paperInfoHtml.Append("多项选择题:" + TempNum + " 道;");
            }
            TempNum = XmlDoc.ReadAttribute("TestPaper", "PanDunNum");
            if (int.Parse(TempNum) > 0)
            {
                paperInfoHtml.Append("判断题:" + TempNum + " 道;");
            }
            paperInfoHtml.Append("</p>");

            int NoteCount = XmlDoc.ReadChildNodes("TestPaper/Single").Count;

            if (NoteCount > 0)
            {
                questionStyleHtml.AppendLine("<li data-id=\"1\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(1) + "</a></li>");
                questionIndexHtml.AppendLine("<ul data-style=\"1\" class=\"clearfix\" id=\"radio\">");
                for (int i = 1; i <= NoteCount; i++)
                {
                    questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>");
                }
                questionIndexHtml.AppendLine("</ul>");
            }

            NoteCount = XmlDoc.ReadChildNodes("TestPaper/Multi").Count;
            if (NoteCount > 0)
            {
                questionStyleHtml.AppendLine("<li data-id=\"2\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(2) + "</a></li>");
                questionIndexHtml.AppendLine("<ul data-style=\"2\" class=\"clearfix\" id=\"checkbox\">");
                for (int i = 1; i <= NoteCount; i++)
                {
                    questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>");
                }
                questionIndexHtml.AppendLine("</ul>");
            }

            NoteCount = XmlDoc.ReadChildNodes("TestPaper/PanDuan").Count;
            if (NoteCount > 0)
            {
                questionStyleHtml.AppendLine("<li data-id=\"3\"><a href=\"javascript:void(0);\">" + EnumHelper.ReadEnumChineseName <QuestionType>(3) + "</a></li>");
                questionIndexHtml.AppendLine("<ul data-style=\"3\" class=\"clearfix\" id=\"judge\">");
                for (int i = 1; i <= NoteCount; i++)
                {
                    questionIndexHtml.AppendLine("<li><a href=\"javascript:void(0);\">" + (i) + "</a></li>");
                }
                questionIndexHtml.AppendLine("</ul>");
            }

            UserLogBLL.AddUserLog(ShopLanguage.ReadLanguage("StartTest"), ShopLanguage.ReadLanguage("TestPaper"), paperName);
            UserLogBLL.AddUserLog(Request.Browser.Browser + "|" + Request.Browser.Version, productID);
        }
Ejemplo n.º 13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            base.ClearCache();

            int companyID = base.UserCompanyID;
            int userID    = base.UserID;

            filePath = TestPaperBLL.ReadTestPaperPath(userID, productID);

            if (!IsPostBack)
            {
                if (productID < 0)
                {
                    ScriptHelper.Alert("选择课程后,进行考试!");
                    Response.End();
                }
                TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(companyID, productID);
                ProductInfo     product     = ProductBLL.ReadProduct(productID);

                RenZhengCateInfo renZhengProduct = RenZhengCateBLL.ReadTestCateByID(product.ID);
                if (renZhengProduct != null)
                {
                    PostApprover postApprover = new PostApprover(PostPassBLL.ReadPostPassList(new PostPassInfo()
                    {
                        UserId = userID, IsRZ = 1
                    }));
                    if (!postApprover.IsTest(renZhengProduct.PostId))
                    {
                        Response.Write("<script>alert('请先完成 " + PostBLL.ReadPost(postApprover.NextPostID).PostName + " 的岗位综合认证!');history.go(-1);</script>");
                        Response.End();
                    }
                }

                if (testSetting.TestStartTime != null && testSetting.TestEndTime != null)
                {
                    if (testSetting.TestStartTime > DateTime.Now || testSetting.TestEndTime < DateTime.Now)
                    {
                        Response.Write("<script>alert('不在 该门课程 设定的考试时间内!');history.go(-1);</script>");
                        Response.End();
                    }
                }
                TestPaperInfo PaperModel = new TestPaperInfo();
                PaperModel.CateIdCondition = productID.ToString();
                PaperModel.UserIdCondition = userID.ToString();
                List <TestPaperInfo> PaperList = TestPaperBLL.NewReadList(PaperModel);
                if (PaperList.Count > 0)
                {
                    foreach (TestPaperInfo Item in PaperList)
                    {
                        if (Item.IsPass == 1)// && Item.CateId != 5368//孟特销售工具应用与说明 需要多次考试
                        {
                            Response.Write("<script>alert('您已通过,请选择其它课程!');</script>");
                            Response.End();
                        }
                        if ((DateTime.Now - Item.TestDate).TotalHours < testSetting.TestInterval)
                        {
                            if (testSetting.TestStartTime != null || testSetting.TestEndTime != null)
                            {
                                Response.Write("<script>alert('您已经参加过考试,暂不能重考!');window.close();</script>");
                            }
                            else
                            {
                                Response.Write("<script>alert('考完" + testSetting.TestInterval + "小时后才能重考,请选择其它课程!');history.go(-1);</script>");
                            }
                            Response.End();
                        }
                    }
                }

                if ((File.Exists(filePath) && (DateTime.Now - File.GetLastWriteTime(filePath)).TotalHours < testSetting.TestInterval))//TempPaperInfo != null && (DateTime.Now - TempPaperInfo.TestDate).TotalHours < 72
                {
                    bool      HaveTest = false;
                    XmlHelper XmlDoc1  = new XmlHelper(filePath);
                    for (int StyleId = 1; StyleId <= 3; StyleId++)
                    {
                        string NodeName = "TestPaper";
                        if (StyleId == 1)
                        {
                            NodeName = NodeName + "/Single";
                        }
                        else if (StyleId == 2)
                        {
                            NodeName = NodeName + "/Multi";
                        }
                        else if (StyleId == 3)
                        {
                            NodeName = NodeName + "/PanDuan";
                        }
                        //判断题型库里是否有考题
                        XmlNode Node = XmlDoc1.ReadNode(NodeName);
                        if (Node != null && Node.HasChildNodes)
                        {
                            XmlNodeList NodeList = XmlDoc1.ReadChildNodes(NodeName);
                            //遍历节点
                            foreach (XmlNode node in NodeList)
                            {
                                if (!string.IsNullOrEmpty(node.ChildNodes[6].InnerText))
                                {
                                    HaveTest = true;
                                }
                            }
                        }
                    }
                    if (HaveTest)
                    {
                        AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("TestPaperRecord"), ShopLanguage.ReadLanguage("TestPaper"), productID);
                        TestPaperInfo testpaper = TestPaperBLL.CalcTestResult(companyID, userID, productID);
                        if (testpaper.IsPass == 1)
                        {
                            PostPassBLL.CheckPostPass(UserID, productID);

                            //孟特销售工具应用与说明 课程处理
                            //if (productID == 5368)
                            //    TestSettingBLL.SpecialTestHandle(userID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId")));
                        }
                        ResponseHelper.Write("<script>alert('您上次未完成交卷,此时系统自动为您补交!得分:" + testpaper.Scorse + "分。');window.location.href='CourseCenter.aspx';</script>");
                        Response.End();
                    }
                }


                TestName.Text = product.Name;
                endTimer      = testSetting.TestTimeLength * 60;

                QuestionBLL.ReadQuestionXmlList(productID, product.Accessory, companyID, userID);

                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("StartTest"), ShopLanguage.ReadLanguage("TestCate"), productID);
                AdminLogBLL.AddAdminLog(Request.Browser.Browser + "|" + Request.Browser.Version, productID);
            }
        }
Ejemplo n.º 14
0
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            int queryString = RequestHelper.GetQueryString <int>("ID");

            if (_CourseId.SelectedValue == "-1" || _CourseId.SelectedValue == "")
            {
                ScriptHelper.Alert("请选择课程");
                Response.End();
            }
            QuestionInfo QuestionModel = new QuestionInfo();

            QuestionModel.CateId     = Convert.ToInt32(_CourseId.SelectedValue);
            QuestionModel.QuestionId = queryString;
            QuestionModel.Question   = this.Quetion.Text;
            if (QuestionModel.Question == "")
            {
                ScriptHelper.Alert("请填写题目");
                Response.End();
            }
            QuestionModel.Style     = this.TestType.Text;
            QuestionModel.CompanyId = systemCompanyId;
            if (QuestionModel.Style == "1")
            {
                QuestionModel.A = this.SingleA.Text;
                QuestionModel.B = this.SingleB.Text;
                QuestionModel.C = this.SingleC.Text;
                QuestionModel.D = this.SingleD.Text;

                if (QuestionModel.A == "" || QuestionModel.B == "" || QuestionModel.C == "" || QuestionModel.D == "")
                {
                    ScriptHelper.Alert("请填写选项");
                    Response.End();
                }
                if (QuestionModel.A == QuestionModel.B || QuestionModel.A == QuestionModel.C || QuestionModel.A == QuestionModel.D || QuestionModel.B == QuestionModel.C || QuestionModel.B == QuestionModel.D || QuestionModel.C == QuestionModel.D)
                {
                    ScriptHelper.Alert("请正确填写选项");
                    Response.End();
                }

                string Answer = string.Empty;
                if (SingleAnswerA.Checked)
                {
                    Answer = SingleAnswerA.Value;
                }
                else if (SingleAnswerB.Checked)
                {
                    Answer = SingleAnswerB.Value;
                }
                else if (SingleAnswerC.Checked)
                {
                    Answer = SingleAnswerC.Value;
                }
                else if (SingleAnswerD.Checked)
                {
                    Answer = SingleAnswerD.Value;
                }
                QuestionModel.Answer = Answer;
            }
            else if (QuestionModel.Style == "2")
            {
                QuestionModel.A = this.MultiA.Text;
                QuestionModel.B = this.MultiB.Text;
                QuestionModel.C = this.MultiC.Text;
                QuestionModel.D = this.MultiD.Text;

                if (QuestionModel.A == "" || QuestionModel.B == "" || QuestionModel.C == "" || QuestionModel.D == "")
                {
                    ScriptHelper.Alert("请填写选项");
                    Response.End();
                }
                if (QuestionModel.A == QuestionModel.B || QuestionModel.A == QuestionModel.C || QuestionModel.A == QuestionModel.D || QuestionModel.B == QuestionModel.C || QuestionModel.B == QuestionModel.D || QuestionModel.C == QuestionModel.D)
                {
                    ScriptHelper.Alert("请正确填写选项");
                    Response.End();
                }
                string Answer = string.Empty;
                if (MultiAnswerA.Checked)
                {
                    Answer = Answer + SingleAnswerA.Value;
                }
                if (MultiAnswerB.Checked)
                {
                    Answer = Answer + SingleAnswerB.Value;
                }
                if (MultiAnswerC.Checked)
                {
                    Answer = Answer + SingleAnswerC.Value;
                }
                if (MultiAnswerD.Checked)
                {
                    Answer = Answer + SingleAnswerD.Value;
                }
                QuestionModel.Answer = Answer;
                if (QuestionModel.Answer.Length <= 1)
                {
                    ScriptHelper.Alert("多项选择题的答案不能低于2个选项!");
                    Response.End();
                }
            }
            else if (QuestionModel.Style == "3")
            {
                QuestionModel.Answer = this.JudgeAnswer.Text;
                if (QuestionModel.Answer == "0")
                {
                    QuestionModel.A = JudgeRightAnswer.Text;
                }
            }
            if (QuestionModel.Answer == "")
            {
                ScriptHelper.Alert("请选择标准答案");
                Response.End();
            }
            string alertMessage = ShopLanguage.ReadLanguage("AddOK");

            if (QuestionModel.QuestionId == int.MinValue)
            {
                base.CheckAdminPower("AddQuestion", PowerCheckType.Single);
                int id = QuestionBLL.AddQuestion(QuestionModel);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("Question"), id);
                ResponseHelper.Write("<script>alert('" + alertMessage + "');</script>");

                this.TestType.Text             = "1";
                this.Quetion.Text              = string.Empty;
                this.SingleA.Text              = string.Empty;
                this.SingleB.Text              = string.Empty;
                this.SingleC.Text              = string.Empty;
                this.SingleD.Text              = string.Empty;
                this.MultiA.Text               = string.Empty;
                this.MultiB.Text               = string.Empty;
                this.MultiC.Text               = string.Empty;
                this.MultiD.Text               = string.Empty;
                this.JudgeRightAnswer.Text     = string.Empty;
                SingleAnswerA.Checked          = false;
                SingleAnswerB.Checked          = false;
                SingleAnswerC.Checked          = false;
                SingleAnswerD.Checked          = false;
                MultiAnswerA.Checked           = false;
                MultiAnswerB.Checked           = false;
                MultiAnswerC.Checked           = false;
                MultiAnswerD.Checked           = false;
                this.JudgeAnswer.SelectedIndex = -1;
            }
            else
            {
                base.CheckAdminPower("UpdateQuestion", PowerCheckType.Single);
                QuestionBLL.UpdateQuestion(QuestionModel);
                AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("Question"), QuestionModel.QuestionId);
                alertMessage = ShopLanguage.ReadLanguage("UpdateOK");
                AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl);
            }
        }
Ejemplo n.º 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Control singleTest  = FindControlById(this, "singleTest");
            Control MultiTest   = FindControlById(this, "MultiTest");
            Control PanDuanTest = FindControlById(this, "PanDuanTest");

            if (!IsPostBack)
            {
                int queryString = RequestHelper.GetQueryString <int>("ID");
                int CourseId    = RequestHelper.GetQueryString <int>("CourseId");
                int cateid      = RequestHelper.GetQueryString <int>("CateId");

                CourseCateInfo CourseCateModel = new CourseCateInfo();
                CourseCateModel.Condition   = systemCompanyId.ToString();
                this._CateId.DataSource     = CourseCateBLL.ReadCourseCateNamedList(CourseCateModel);
                this._CateId.DataTextField  = "CateName";
                this._CateId.DataValueField = "CateId";
                this._CateId.DataBind();
                this._CateId.Items.Insert(0, new ListItem("请选择类别", "-1"));
                _CateId.SelectedValue = cateid.ToString();

                if (CourseId != int.MinValue)
                {
                    CourseInfo CourseModel = new CourseInfo();
                    CourseModel.CateId            = cateid;
                    this._CourseId.DataSource     = CourseBLL.ReadList(CourseModel);
                    this._CourseId.DataTextField  = "CourseName";
                    this._CourseId.DataValueField = "CourseId";
                    this._CourseId.DataBind();
                    _CourseId.SelectedValue = CourseId.ToString();
                }

                if (queryString != int.MinValue)
                {
                    base.CheckAdminPower("ReadQuestion", PowerCheckType.Single);
                    QuestionInfo QuestionModel = QuestionBLL.ReadQuestion(queryString);
                    int          CateId        = CourseBLL.ReadCourse(QuestionModel.CateId).CateId;
                    _CateId.SelectedValue = CateId.ToString();

                    CourseInfo CourseModel = new CourseInfo();
                    CourseModel.CateId            = CateId;
                    this._CourseId.DataSource     = CourseBLL.ReadList(CourseModel);
                    this._CourseId.DataTextField  = "CourseName";
                    this._CourseId.DataValueField = "CourseId";
                    this._CourseId.DataBind();
                    _CourseId.SelectedValue = QuestionModel.CateId.ToString();

                    this.Quetion.Text  = QuestionModel.Question;
                    this.TestType.Text = QuestionModel.Style;
                    if (QuestionModel.Style == "1")
                    {
                        this.SingleA.Text = QuestionModel.A;
                        this.SingleB.Text = QuestionModel.B;
                        this.SingleC.Text = QuestionModel.C;
                        this.SingleD.Text = QuestionModel.D;
                        switch (QuestionModel.Answer.ToUpper())
                        {
                        case "A":
                            this.SingleAnswerA.Checked = true;
                            break;

                        case "B":
                            this.SingleAnswerB.Checked = true;
                            break;

                        case "C":
                            this.SingleAnswerC.Checked = true;
                            break;

                        case "D":
                            this.SingleAnswerD.Checked = true;
                            break;
                        }
                        this.singleTest.Style.Add("display", "");
                        this.MultiTest.Style.Add("display", "none");
                        this.PanDuanTest.Style.Add("display", "none");
                    }
                    else if (QuestionModel.Style == "2")
                    {
                        this.MultiA.Text = QuestionModel.A;
                        this.MultiB.Text = QuestionModel.B;
                        this.MultiC.Text = QuestionModel.C;
                        this.MultiD.Text = QuestionModel.D;
                        for (int i = 0; i < QuestionModel.Answer.Length; i++)
                        {
                            switch (QuestionModel.Answer.ToUpper().Substring(i, 1))
                            {
                            case "A":
                                this.MultiAnswerA.Checked = true;
                                break;

                            case "B":
                                this.MultiAnswerB.Checked = true;
                                break;

                            case "C":
                                this.MultiAnswerC.Checked = true;
                                break;

                            case "D":
                                this.MultiAnswerD.Checked = true;
                                break;
                            }
                        }
                        this.singleTest.Style.Add("display", "none");
                        this.MultiTest.Style.Add("display", "");
                        this.PanDuanTest.Style.Add("display", "none");
                    }
                    else if (QuestionModel.Style == "3")
                    {
                        this.JudgeAnswer.Text = QuestionModel.Answer;
                        if (QuestionModel.Answer == "0")
                        {
                            JudgeRightAnswer.Text        = QuestionModel.A;
                            RightAnswer.Style["display"] = "";
                        }
                        this.singleTest.Style.Add("display", "none");
                        this.MultiTest.Style.Add("display", "none");
                        this.PanDuanTest.Style.Add("display", "");
                    }
                }
            }
        }