protected void Page_Load(object sender, EventArgs e) { base.ClearCache(); int productID = RequestHelper.GetQueryString <int>("ProductID"); decimal score = RequestHelper.GetQueryString <decimal>("Scorse"); TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(base.UserCompanyID, productID); StringBuilder textOut = new StringBuilder(); //textOut.AppendLine("<div class=\"exam\">本次考试总分:" + testSetting.PaperScore + "分,你的得分是:<span class=\"active\">" + score + "</span>分</div>"); string tempOut = string.Empty; if (score >= 60 && score < testSetting.LowScore) { tempOut = "<font color=\"#000\">好可惜哦,通过线是 " + testSetting.LowScore.ToString() + " 分,就差一点点了!<br> 复习后可以再试一下的哟~~</font>"; } else if (score >= testSetting.LowScore) { tempOut = "<font color=\"#000\">恭喜你通过了~,你太厉害了!</font>"; } else { tempOut = "<font color=\"#000\">成绩不太理想喔!通过线是 " + testSetting.LowScore.ToString() + " 分。<br> 努力一下,学习后来征服它~~</font>"; } textOut.Append("<div id=\"emptyTip\" class=\"pt40\"><p style=\"color:#a6a6a6; line-height:30px; font-weight:bold; font-size:14px;\"><span style='font-size:50px; color:red; font-family:黑体;'>" + score.ToString() + "</span>分<br/>" + tempOut + "</p>\r\n"); textOut.Append("<br />返回 <a href=\"CourseCenter.aspx?Action=PostCourse\" class=\"green\">我的岗位课程</a></div>"); textOut.Append("<div style=\"margin:50px auto;\"><table style=\"width:200px; margin:0px auto;\"><tr><td style=\"padding-right:10px; text-align:right;\">上海加禾汽修服务<br>上海孟特管理咨询</td><td style=\" border-left:1px solid #CCC; text-align: left; padding-left:10px;\">联合<br>出品</td></tr></table></div>"); paperContent.InnerHtml = textOut.ToString(); }
protected void BindSystemTestSetting() { TestSettingInfo systemTestSetting = TestSettingBLL.ReadSystemTestSetting(); PaperScorseTips.Text = PaperScore.HintInfo = "留空总分则为" + systemTestSetting.PaperScore + "分"; TestTimeLengthTips.Text = TestTimeLength.HintInfo = "留空考试时长则为" + systemTestSetting.TestTimeLength + "分钟"; QuestionsNumTips.Text = QuestionsNum.HintInfo = "留空则为" + systemTestSetting.TestQuestionsCount + "道试题"; LowScoreTips.Text = LowScore.HintInfo = "留空则及格线为" + systemTestSetting.LowScore + "分"; TestIntervalTips.Text = TestInterval.HintInfo = "两次考试相隔的小时数,留空为" + systemTestSetting.TestInterval + "小时。"; }
protected string GetSpecialTestTime(int companyID, int courseID) { StringBuilder resultHtml = new StringBuilder(); TestSettingInfo testSetting = TestSettingBLL.ReadCompanyTestSetting(int.Parse(Eval("CompanyID").ToString()), int.Parse(Eval("ID").ToString())); if (testSetting != null) { resultHtml.AppendLine("<br>"); resultHtml.AppendLine("<span style=\"margin-left:10px;\">" + testSetting.TestStartTime + "—" + testSetting.TestEndTime + "</span>"); } return(resultHtml.ToString()); }
protected void BindTestSetting(ProductInfo product) { TestSettingInfo systemTestSetting = TestSettingBLL.ReadCompanyTestSetting(product.CompanyID, product.ID); if (systemTestSetting != null) { TestStartTime.Text = systemTestSetting.TestStartTime.ToString().Replace('/', '-'); TestEndTime.Text = systemTestSetting.TestEndTime.ToString().Replace('/', '-'); PaperScore.Text = systemTestSetting.PaperScore.ToString(); TestTimeLength.Text = systemTestSetting.TestTimeLength.ToString(); QuestionsNum.Text = systemTestSetting.TestQuestionsCount.ToString(); LowScore.Text = systemTestSetting.LowScore.ToString(); TestInterval.Text = systemTestSetting.TestInterval.ToString(); } }
private string RecordTest() { int productID = RequestHelper.GetForm <int>("CateID"); int userID = base.UserID; int companyID = base.UserCompanyID; string answerList = RequestHelper.GetForm <string>("Answer"); //重新提交答案 if (!string.IsNullOrEmpty(answerList)) { //Dictionary<int, string> answerDic = new Dictionary<int, string>(); JArray answerDic = (JArray)JsonConvert.DeserializeObject(answerList); foreach (JToken item in answerDic) { if (!string.IsNullOrEmpty(item.Value <string>("Answer"))) { AnswerSet(productID, item.Value <int>("StyleID"), item.Value <int>("ID"), item.Value <string>("Answer")); } } } TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(companyID, productID); decimal score = Convert.ToDecimal(TestPaperBLL.CalcTestResult(companyID, userID, productID).Scorse); //判断是否通过各岗位 if (score >= testSetting.LowScore) { PostPassBLL.CheckPostPass(userID, productID); //孟特销售工具应用与说明 课程处理 //if (productID == 5368) // TestSettingBLL.SpecialTestHandle(userID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId"))); } string ReturnResult = "{\"Success\":\"true\",\"Url\":\"TestPaperShow.aspx?Action=TestPaperResult&ProductID=" + productID.ToString() + "&Scorse=" + score.ToString() + "\"}"; return(ReturnResult); }
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); }
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); } }
//private List<PostCateInfo> ConvertToPostCate(List<PostInfo> PostList, bool ChildList) //{ // List<PostCateInfo> PostCateList = new List<PostCateInfo>(); // if (PostList != null) // { // foreach (PostInfo Info in PostList) // { // PostCateInfo PostCateModel = new PostCateInfo(); // PostCateModel.EncryptFcateID = Info.PostId.ToString(); // PostCateModel.Title = Info.PostName; // if (ChildList) PostCateModel.ChildCourseFCateView = ConvertToPostCate(PostBLL.ReadPostList(Info.PostId), false); // PostCateList.Add(PostCateModel); // } // } // return PostCateList; //} private List <MCourseInfo> GetCourseList() { int postID = RequestHelper.GetForm <int>("postID"); int page = RequestHelper.GetForm <int>("pageIndex"); int pageSize = RequestHelper.GetForm <int>("pageSize"); int classID = RequestHelper.GetForm <int>("classID"); if (pageSize <= 0) { pageSize = base.PageSize; } List <MCourseInfo> CourseList = new List <MCourseInfo>(); int userID = base.UserID; string prepaidCourseId = BLLMTestCate.ReadPrepaidTestCate(userID); if (postID < 0) { postID = int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId")); } List <ProductInfo> productList = new List <ProductInfo>(); string inProductID = PostBLL.ReadPostCourseID(base.UserCompanyID, postID); string passPostCourseID = string.IsNullOrEmpty(inProductID) ? "" : TestPaperBLL.ReadCourseIDStr(TestPaperBLL.ReadList(base.UserID, inProductID, 1)); inProductID = StringHelper.SubString(inProductID, passPostCourseID); ProductSearchInfo productSearch = new ProductSearchInfo(); if (!string.IsNullOrEmpty(inProductID)) { productSearch.InProductID = inProductID; productSearch.IsSale = 1; if (classID > 0) { productSearch.ClassID = "|" + classID + "|"; } productSearch.OrderField = "[IsTop],[ClassID],[Sort],[ID]"; productList = ProductBLL.SearchProductList(page, pageSize, productSearch, ref base.Count); } int pageCount = (int)Math.Ceiling((double)base.Count / pageSize); //加载选修课程(岗位课程罗列完成后,再加载选修) if ((classID < 0 || classID == 6) && (page == pageCount) && StringHelper.CompareSingleString("4,5,64", UserBLL.ReadUser(base.UserID).StudyPostID.ToString())) { productSearch.InProductID = string.Empty; productSearch.ClassID = "|6|"; productSearch.InBrandID = base.CompanyBrandID; productSearch.NotLikeName = "必修"; productSearch.IsSale = 1; productList.AddRange(ProductBLL.SearchProductList(productSearch)); } //加载认证考试 if ((classID < 0 && page == 1) || classID == 4387) { PostPassInfo passpost = new PostPassInfo(); passpost.UserId = base.UserID; passpost.IsRZ = 0; RenZhengCateInfo rzCate = new RenZhengCateInfo(); rzCate.InPostID = PostPassBLL.PassPostString(passpost); string rzProductID = RenZhengCateBLL.ReadTestCateID(rzCate); if (!string.IsNullOrEmpty(rzProductID)) { productSearch.InProductID = rzProductID; productSearch.ClassID = string.Empty; productSearch.InBrandID = base.CompanyBrandID; productSearch.NotLikeName = string.Empty; productSearch.IsSale = 1; productList.InsertRange(0, ProductBLL.SearchProductList(productSearch)); } } //加载大课件 if ((classID < 0 && page == 1) || classID == 5298) { productSearch.InProductID = string.Empty; productSearch.InBrandID = string.Empty; productSearch.NotLikeName = string.Empty; productSearch.IsSale = 1; productSearch.ClassID = "|5298|"; productList.InsertRange(0, ProductBLL.SearchProductList(productSearch)); } //加载指定时间考试 if (classID < 0 && page == 1) { string parentCompanyID = base.ParentCompanyID; if (string.IsNullOrEmpty(parentCompanyID)) { parentCompanyID = base.UserCompanyID.ToString(); } else { parentCompanyID += "," + base.UserCompanyID.ToString(); } List <TestSettingInfo> specialTestList = TestSettingBLL.ReadSpecialTestList(parentCompanyID); if (specialTestList.Count > 0) { string specialCourseID = TestSettingBLL.ReadSpecialTestCourseID(specialTestList); if (!string.IsNullOrEmpty(specialCourseID)) { productSearch.InProductID = specialCourseID; productSearch.ClassID = string.Empty; productSearch.InBrandID = base.CompanyBrandID; productSearch.NotLikeName = string.Empty; productSearch.IsSale = 1; List <ProductInfo> specialProductList = ProductBLL.SearchProductList(productSearch); productList.InsertRange(0, specialProductList); } } } //重新获取产品ID串 inProductID = ProductBLL.ReadProductIdStr(productList); passPostCourseID = string.IsNullOrEmpty(inProductID) ? "" : TestPaperBLL.ReadCourseIDStr(TestPaperBLL.ReadList(base.UserID, inProductID, 1)); //获取未通过的最新记录 string noPassCourseID = StringHelper.SubString(inProductID, passPostCourseID); List <TestPaperReportInfo> noPassTestPaperList = string.IsNullOrEmpty(noPassCourseID) ? new List <TestPaperReportInfo>() : TestPaperBLL.ReadThelatestList(base.UserID, noPassCourseID); List <AttributeRecordInfo> attributeRecordList = AttributeRecordBLL.ReadList("5", noPassCourseID); foreach (ProductInfo Info in productList) { //通过的课程不用显示 //if (!StringHelper.CompareSingleString(passPostCourseID, Info.ID.ToString())) { TestSettingInfo testSetting = TestSettingBLL.ReadTestSetting(base.UserCompanyID, Info.ID); MCourseInfo CourseModel = new MCourseInfo(); CourseModel.ClassID = Info.ID.ToString(); CourseModel.Title = Info.Name; CourseModel.IsPass = false; CourseModel.PageCount = pageCount; TestPaperReportInfo currentPaper = noPassTestPaperList.Find(delegate(TestPaperReportInfo tempPaper) { return(tempPaper.CourseID == Info.ID); }); if (currentPaper != null) { //剩余时间 int remainingTime = (testSetting.TestInterval - (int)(DateTime.Now - currentPaper.TestDate).TotalHours); CourseModel.ValidDateShow = remainingTime > 0 ? remainingTime.ToString() : ""; } CourseModel.OriginalPrice = Info.MarketPrice.ToString(); if (!string.IsNullOrEmpty(Info.ProductNumber)) { CourseModel.IsVideo = true; } if (!string.IsNullOrEmpty(Info.Accessory)) { CourseModel.IsTest = true; //通过的课程不用再考 if (StringHelper.CompareSingleString(passPostCourseID, Info.ID.ToString())) { CourseModel.IsTest = false; } if (testSetting != null && (testSetting.TestStartTime != null || testSetting.TestEndTime != null)) { //指定时间考试考过了就不要再考了 if (!string.IsNullOrEmpty(CourseModel.ValidDateShow)) { CourseModel.IsTest = false; } if (DateTime.Now < testSetting.TestStartTime || DateTime.Now > testSetting.TestEndTime) { CourseModel.IsTest = false; } } } CourseModel.IsPostCourse = true; CourseModel.IsPrepaidCourse = StringHelper.CompareSingleString(prepaidCourseId, Info.ID.ToString()); //产品知识 练车剧本地址 { CourseModel.RCUrl = AttributeRecordBLL.ReadAttributeRecord(attributeRecordList, 5, Info.ID).Value; if (!string.IsNullOrEmpty(CourseModel.RCUrl)) { CourseModel.IsRC = true; } } CourseList.Add(CourseModel); } } return(CourseList); }
public static string RecordTest(int CateId) { string FilePath = ServerHelper.MapPath("~/xml/" + Cookies.User.GetUserID(true).ToString() + "_" + CateId.ToString() + ".xml"); if (File.Exists(FilePath)) { XmlHelper XmlDoc = new XmlHelper(FilePath); int QuestionNum = int.Parse(XmlDoc.ReadAttribute("TestPaper", "QuestionNum")); decimal Scorse = 0; //试卷得分 int RightNum = 0; //正确的题目数量 //从xml里读取答案,进行校卷 string QuestionList = string.Empty; string UserAnswerList = string.Empty; for (int StyleId = 1; StyleId <= 3; StyleId++) { string NodeName = GetTestPaperStyleNodeName(StyleId); //判断题型库里是否有考题 XmlNode Node = XmlDoc.ReadNode(NodeName); if (Node != null && Node.HasChildNodes) { XmlNodeList NodeList = XmlDoc.ReadChildNodes(NodeName); //遍历节点 foreach (XmlNode node in NodeList) { QuestionList = QuestionList + "," + node.ChildNodes[9].InnerText; UserAnswerList = UserAnswerList + "," + node.ChildNodes[6].InnerText; if (node.ChildNodes[6].InnerText.ToLower() == node.ChildNodes[5].InnerText.ToLower()) { RightNum = RightNum + 1; } } } } TestSettingInfo Model = TestSettingBLL.ReadTestSetting(Cookies.User.GetCompanyID(true), CateId); if (QuestionNum == 0) { Scorse = 0; } else { Scorse = Convert.ToDecimal(Math.Round((decimal.Parse(Model.PaperScore.ToString()) * RightNum / QuestionNum), 1));//这样计算的总分更准备 } if (QuestionList != string.Empty && QuestionList.StartsWith(",")) { QuestionList = QuestionList.Substring(1); UserAnswerList = UserAnswerList.Substring(1); } TestPaperInfo PaperModel = new TestPaperInfo(); PaperModel.CateId = CateId; PaperModel.CompanyId = Cookies.User.GetCompanyID(true); PaperModel.UserId = Cookies.User.GetUserID(true); PaperModel.QuestionId = QuestionList; PaperModel.Answer = UserAnswerList; PaperModel.Scorse = Scorse; if (Scorse >= Model.LowScore) { PaperModel.Point = 2; } AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("ApplyTestPaper"), ShopLanguage.ReadLanguage("TestCate"), CateId); TestPaperBLL.AddPaper(PaperModel); File.SetLastWriteTime(FilePath, DateTime.Now); return("TestPaperShow.aspx?Action=TestPaperResult&CompanyId=" + ProductBLL.ReadProduct(CateId).CompanyID.ToString() + "&CateId=" + CateId.ToString() + "&Scorse=" + Scorse.ToString()); } return(string.Empty); }
protected void SubmitButton_Click(object sender, EventArgs e) { ProductInfo product = new ProductInfo(); product.ID = RequestHelper.GetQueryString <int>("ID"); product.CompanyID = companyID; product.Name = this.Name.Text; product.Spelling = ChineseCharacterHelper.GetFirstLetter(this.Name.Text); product.Color = RequestHelper.GetForm <string>("ProductColor"); //product.FontStyle = this.FontStyle.Text; product.ProductNumber = this.ProductNumber.Text; product.ClassID = this.ProductClass.ClassIDList; product.Keywords = this.Keywords.Text; if (string.IsNullOrEmpty(RequestHelper.GetForm <string>("AllBrandID"))) { product.BrandID = RequestHelper.GetIntsForm("BrandID"); } else { product.BrandID = RequestHelper.GetIntsForm("AllBrandID"); } product.MarketPrice = Convert.ToDecimal(this.MarketPrice.Text); product.Photo = this.Photo.Text; product.Summary = this.Summary.Text; product.Introduction = this.Introduction.Value; product.IsSpecial = Convert.ToInt32(this.IsSpecial.Text); product.IsNew = Convert.ToInt32(this.IsNew.Text); product.IsHot = Convert.ToInt32(this.IsHot.Text); product.IsSale = Convert.ToInt32(this.IsSale.Text); product.IsTop = Convert.ToInt32(this.IsTop.Text); product.Remark = this.Remark.Text; product.Accessory = RequestHelper.GetForm <string>("RelationAccessoryID"); product.RelationProduct = RequestHelper.GetForm <string>("RelationProductID"); product.RelationArticle = RequestHelper.GetForm <string>("RelationArticleID"); product.AllowComment = Convert.ToInt32(this.AllowComment.Text); product.AttributeClassID = Convert.ToInt32(this.AttributeClassID.Text); product.StandardType = Convert.ToInt32(this.StandardType.Text); product.AddDate = RequestHelper.DateNow; product.Sort = Convert.ToInt32(Sort.Text); product.Editor = Editor.Text; int productID = 0; string alertMessage = ShopLanguage.ReadLanguage("AddOK"); if (product.ID == -2147483648) { base.CheckAdminPower("AddProduct", PowerCheckType.Single); productID = ProductBLL.AddProduct(product); this.AddProductPhoto(productID); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("Product"), productID); } else { base.CheckAdminPower("UpdateProduct", PowerCheckType.Single); //公司发生变化,删除旧的考试设置 ProductInfo oldProduct = ProductBLL.ReadProduct(product.ID); if (product.CompanyID != ProductBLL.ReadProduct(product.ID).CompanyID) { try { TestSettingBLL.DeleteTestSetting(TestSettingBLL.ReadCompanyTestSetting(oldProduct.CompanyID, product.ID).Id); } catch (Exception ex) { } } ProductBLL.UpdateProduct(product); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("Product"), product.ID); alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); } this.HanderAttribute(product); //this.HanderMemberPrice(product.ID); this.HanderProductStandard(product); if (product.ID == int.MinValue) { product.ID = productID; } this.HanderTestSetting(product); AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl); }
protected void HanderTestSetting(ProductInfo product) { try { string paperScore = PaperScore.Text.Trim(); string testTimeLength = TestTimeLength.Text.Trim(); string testQuestionsCount = QuestionsNum.Text.Trim(); string lowScore = LowScore.Text.Trim(); string testStartTime = TestStartTime.Text.Trim(); string testEndTime = TestEndTime.Text.Trim(); string testInterval = TestInterval.Text.Trim(); TestSettingInfo testSetting = new TestSettingInfo(); if (!string.IsNullOrEmpty(paperScore)) { testSetting.PaperScore = Convert.ToInt32(paperScore); } if (!string.IsNullOrEmpty(testTimeLength)) { testSetting.TestTimeLength = Convert.ToInt32(testTimeLength); } if (!string.IsNullOrEmpty(testQuestionsCount)) { testSetting.TestQuestionsCount = Convert.ToInt32(testQuestionsCount); } if (!string.IsNullOrEmpty(lowScore)) { testSetting.LowScore = Convert.ToInt32(lowScore); } if (!string.IsNullOrEmpty(testStartTime) && !string.IsNullOrEmpty(testEndTime)) { testSetting.TestStartTime = Convert.ToDateTime(testStartTime); testSetting.TestEndTime = Convert.ToDateTime(testEndTime); } if (!string.IsNullOrEmpty(testInterval)) { testSetting.TestInterval = Convert.ToInt32(testInterval); } TestSettingBLL.UpdateTestSetting(product.CompanyID, product.ID, testSetting); } catch (Exception ex) { ScriptHelper.Alert("考试时间设置出现异常!"); } //TestSettingInfo systemTestSetting = TestSettingBLL.ReadCompanyTestSetting(product.CompanyID, product.ID); //if (!string.IsNullOrEmpty(paperScore) || !string.IsNullOrEmpty(testTimeLength) || !string.IsNullOrEmpty(testQuestionsCount) || !string.IsNullOrEmpty(testQuestionsCount) || !string.IsNullOrEmpty(lowScore) || !string.IsNullOrEmpty(testStartTime) || !string.IsNullOrEmpty(testEndTime)) //{ // if (systemTestSetting == null) // { // systemTestSetting = TestSettingBLL.ReadTestSetting(product.CompanyID); // systemTestSetting.CompanyId = product.CompanyID; // systemTestSetting.CourseId = product.ID; // } // if (!string.IsNullOrEmpty(paperScore)) systemTestSetting.PaperScore = Convert.ToInt32(paperScore); // if (!string.IsNullOrEmpty(testTimeLength)) systemTestSetting.TestTimeLength = Convert.ToInt32(testTimeLength); // if (!string.IsNullOrEmpty(testQuestionsCount)) systemTestSetting.TestQuestionsCount = Convert.ToInt32(testQuestionsCount); // if (!string.IsNullOrEmpty(lowScore)) systemTestSetting.LowScore = Convert.ToInt32(lowScore); // //下面两项同时为空或同时不为空时可以修改 // if ((!string.IsNullOrEmpty(testStartTime) && !string.IsNullOrEmpty(testEndTime)) || (string.IsNullOrEmpty(testStartTime) && string.IsNullOrEmpty(testEndTime))) // { // systemTestSetting.TestStartTime = testStartTime; // systemTestSetting.TestEndTime = testEndTime; // } // TestSettingBLL.AddTestSetting(systemTestSetting); //} //else //{ // if (systemTestSetting != null) // { // TestSettingBLL.DeleteTestSetting(systemTestSetting.Id); // } //} }
protected override void PageLoad() { if (StringHelper.CompareSingleString(base.ParentCompanyID, "667")) { Response.Redirect("/"); } base.PageLoad(); base.CheckUserPower("PostStudy", PowerCheckType.Single); ProductSearchInfo product = new ProductSearchInfo(); product.IsNew = 1; //product.IsTop = 1; product.IsSale = 1; int count = 0; this.newProductList = ProductBLL.SearchProductList(1, 10, product, ref count); this.newProductAttributeRecordList = AttributeRecordBLL.ReadList("3", ProductBLL.ReadProductIdStr(this.newProductList)); //默认加载视图模式 if (string.IsNullOrEmpty(view)) { view = "Grid"; } int studyPostID = int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId")); this.studyPost = PostBLL.ReadPost(studyPostID); this.productClassList = ProductClassBLL.ReadProductClassRootList(); string postCourseID = PostBLL.ReadPostCourseID(base.UserCompanyID, studyPostID); postCourseNum = string.IsNullOrEmpty(postCourseID) ? 0 : postCourseID.Split(',').Length; string passPostCourseID = string.IsNullOrEmpty(postCourseID) ? "" : TestPaperBLL.ReadCourseIDStr(TestPaperBLL.ReadList(base.UserID, postCourseID, 1)); passCourseNum = string.IsNullOrEmpty(passPostCourseID) ? 0 : passPostCourseID.Split(',').Length; //isTestAgain = TestSettingBLL.IsTestAgain(base.UserID, int.Parse(CookiesHelper.ReadCookieValue("UserStudyPostId"))); switch (studyPostID) { case 5: case 37: case 64: case 87: case 693: postImageName = "post1.jpg"; break; case 8: case 86: case 4: case 85: case 276: case 286: postImageName = "post2.jpg"; break; case 82: case 220: case 166: case 168: case 88: case 251: case 258: case 302: case 308: case 341: postImageName = "post3.jpg"; break; case 83: case 89: case 158: case 265: case 312: case 318: postImageName = "post4.jpg"; break; case 11: case 327: postImageName = "post5.jpg"; break; default: postImageName = "post1.jpg"; break; } //视图模式时加载分类目录 if (view == "Grid") { //公共课程 if (pc == 1) { ProductSearchInfo productSearch = new ProductSearchInfo(); productSearch.ClassID = "|5298|"; productSearch.IsSale = 1; postCourseID = ProductBLL.ReadProductIdStr(ProductBLL.SearchProductList(productSearch)); } //获取认证课程ID else if (rz == 1) { PostPassInfo passpost = new PostPassInfo(); passpost.UserId = base.UserID; passpost.IsRZ = int.MinValue; RenZhengCateInfo rzCate = new RenZhengCateInfo(); rzCate.InPostID = PostPassBLL.PassPostString(passpost); postCourseID = RenZhengCateBLL.ReadTestCateID(rzCate); } else { //默认加载未通过的课程 if (passType <= 0) { passType = 0; } if (passType == 1 || passType == 0) { if (passType == 1) { postCourseID = passPostCourseID;//StringHelper.EqualString(postCourseID, filterCourseID); } else if (passType == 0) { postCourseID = StringHelper.SubString(postCourseID, passPostCourseID); } } } if (!string.IsNullOrEmpty(postCourseID)) { this.postProductClassList = ProductClassBLL.ReadProductClassListByProductID(postCourseID, 1); } if (postProductClassList.Count > 1) { this.postProductClassList = productClassSort(this.postProductClassList); } //特定时间考试 if (pc != 1 && rz != 1) { string parentCompanyID = CookiesHelper.ReadCookieValue("UserCompanyParentCompanyID"); //if (string.IsNullOrEmpty(parentCompanyID)) parentCompanyID = base.UserCompanyID.ToString(); //else parentCompanyID += "," + base.UserCompanyID.ToString(); List <TestSettingInfo> specialTestList = TestSettingBLL.ReadSpecialTestList(parentCompanyID); if (specialTestList.Count > 0) { string specialCourseID = TestSettingBLL.ReadSpecialTestCourseID(specialTestList); if (!string.IsNullOrEmpty(specialCourseID)) { ProductSearchInfo productSearch = new ProductSearchInfo(); productSearch.InProductID = specialCourseID; productSearch.InBrandID = CookiesHelper.ReadCookieValue("UserCompanyBrandID"); productSearch.IsSale = 1; specialCourseID = ProductBLL.ReadProductIdStr(ProductBLL.SearchProductList(productSearch)); string passSpecialCourseID = TestPaperBLL.ReadCourseIDStr(TestPaperBLL.ReadList(base.UserID, specialCourseID, 1)); if (passType == 1) { specialCourseID = passSpecialCourseID; } else if (passType == 0) { specialCourseID = StringHelper.SubString(specialCourseID, passSpecialCourseID); } if (!string.IsNullOrEmpty(specialCourseID)) { hasSpecialTest = true; } } } } //三个岗位加载 竞品选修 if (passType >= 0 && StringHelper.CompareSingleString("4,5,64", studyPostID.ToString())) { ProductSearchInfo productSearch = new ProductSearchInfo(); productSearch.ClassID = "|6|"; productSearch.InBrandID = CookiesHelper.ReadCookieValue("UserCompanyBrandID"); productSearch.IsSale = 1; productSearch.NotLikeName = "必修"; string xxCourseID = ProductBLL.ReadProductIdStr(ProductBLL.SearchProductList(productSearch)); string passXXCourseID = TestPaperBLL.ReadCourseIDStr(TestPaperBLL.ReadList(base.UserID, xxCourseID, 1)); if (passType == 1) { xxCourseID = passXXCourseID; } else if (passType == 0) { xxCourseID = StringHelper.SubString(xxCourseID, passXXCourseID); } if (!string.IsNullOrEmpty(xxCourseID)) { this.xxProductClassList = ProductClassBLL.ReadProductClassListByProductID(xxCourseID, 1); } } } }