protected override void InitPageTemplate(HttpContext context) { if (!Extend.LoginState.Accounts.IsLogin) { this.Response.Redirect("login.ashx"); } this.Document.SetValue("url", url); this.Document.SetValue("couid", couid); //当前章节 Song.Entities.Outline outline = Business.Do <IOutline>().OutlineSingle(olid); this.Document.SetValue("outline", outline); if (outline != null) { couid = outline.Cou_ID; } //当前课程 Song.Entities.Course course = Business.Do <ICourse>().CourseSingle(couid); if (course == null) { return; } this.Document.SetValue("course", course); //是否购买该课程 Song.Entities.Course couBuy = Business.Do <ICourse>().IsBuyCourse(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID, 1); bool isBuy = couBuy != null; //是否购买,如果免费也算已经购买 this.Document.SetValue("isBuy", isBuy || course.Cou_IsFree); if (couBuy == null) { couBuy = course; } this.Document.SetValue("couBuy", couBuy); int sumCount = isBuy || course.Cou_IsFree ? Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true) : course.Cou_TryNum; this.Document.SetValue("sumCount", sumCount); //分页计算 List <TrainingPager_Item> list = TrainingPager_Item.Pager(sumCount, pagerSize, noPager); if (list.Count <= 1) { this.Response.Redirect(string.Format(url + "?olid={0}&couid={1}&size={2}", olid, couid, list.Last <TrainingPager_Item>().Size)); } this.Document.SetValue("list", list); this.Document.SetValue("size", pagerSize); }
protected override void InitPageTemplate(HttpContext context) { this.Document.SetValue("couid", couid); //当前章节 Song.Entities.Outline outline = Business.Do <IOutline>().OutlineSingle(olid); this.Document.SetValue("outline", outline); //当前课程 Song.Entities.Course course = null; if (outline != null) { couid = outline.Cou_ID; course = Business.Do <ICourse>().CourseSingle(couid); this.Document.SetValue("course", course); } if (course == null && couid > 0) { course = Business.Do <ICourse>().CourseSingle(couid); } //是否购买该课程 Song.Entities.Course couBuy = Business.Do <ICourse>().IsBuyCourse(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID, 1); bool isBuy = couBuy != null; //是否购买,如果免费也算已经购买 this.Document.SetValue("isBuy", isBuy || course.Cou_IsFree); if (couBuy == null) { couBuy = course; } this.Document.SetValue("couBuy", couBuy); //是否可以学习,如果是免费或已经选修便可以学习,否则当前课程允许试用且当前章节是免费的,也可以学习 bool canStudy = isBuy || course.Cou_IsFree || course.Cou_IsLimitFree ? true : (course.Cou_IsTry && outline.Ol_IsFree && outline.Ol_IsFinish); canStudy = canStudy && outline.Ol_IsUse && outline.Ol_IsFinish && this.Account != null; this.Document.Variables.SetValue("canStudy", canStudy); if (!canStudy) { return; } //总题数 int sumCount = canStudy ? Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true) : 0; //this.Document.SetValue("sumCount", sumCount); int total = Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true); this.Document.SetValue("Total", total); //试题的总数 this.Document.SetValue("couid", WeiSha.Common.Request.QueryString["couid"].Int32 ?? 0); //题型 this.Document.SetValue("quesType", WeiSha.Common.App.Get["QuesType"].Split(',')); //试题列表 Song.Entities.Questions[] ques = Business.Do <IQuestions>().CacheQuestions("all"); List <Song.Entities.Questions> list = new List <Entities.Questions>(); //按章节取题 if (olid > 0) { List <int> olids = Business.Do <IOutline>().TreeID(olid); list = GetQues(olids, ques); } else { //按钮课程取题 foreach (Song.Entities.Questions q in ques) { if (q.Cou_ID != couid) { continue; } list.Add(q); } } ques = list.ToArray(); if (ques == null) { ques = Business.Do <IQuestions>().QuesCount(-1, -1, couid, olid, -1, -1, true, 0 - 1, count); } for (int i = 0; i < ques.Length; i++) { ques[i] = Extend.Questions.TranText(ques[i]); ques[i].Qus_Title = ques[i].Qus_Title.Replace("<", "<"); ques[i].Qus_Title = ques[i].Qus_Title.Replace(">", ">"); ques[i].Qus_Title = Extend.Html.ClearHTML(ques[i].Qus_Title, "p", "div", "font", "span"); ques[i].Qus_Title = ques[i].Qus_Title.Replace("\n", "<br/>"); if (!string.IsNullOrWhiteSpace(ques[i].Qus_Answer)) { ques[i].Qus_Answer = ques[i].Qus_Answer.Replace(" ", " "); } } //List<Song.Entities.Questions> list = new List<Entities.Questions>(); //if (isBuy || course.Cou_IsFree) list = ques.ToList<Song.Entities.Questions>(); //如果已经购买或免费; //if (!(isBuy || course.Cou_IsFree)) //{ // for (int i = 0; i < sumCount; i++) list.Add(ques[i]); //如果还在试用 //} //this.Document.SetValue("uid", uid); this.Document.SetValue("ques", ques); this.Document.RegisterGlobalFunction(this.AnswerItems); this.Document.RegisterGlobalFunction(this.IsCollect); this.Document.RegisterGlobalFunction(this.GetAnswer); }
protected override void InitPageTemplate(HttpContext context) { //索引启始 this.Document.SetValue("start", start); //传递过来的试题总记录数 //this.Document.SetValue("sumCount", sumCount); if (!Extend.LoginState.Accounts.IsLogin) { this.Response.Redirect("login.ashx"); } //当前章节 Song.Entities.Outline outline = Business.Do <IOutline>().OutlineSingle(olid); this.Document.SetValue("outline", outline); //当前课程 Song.Entities.Course course = null; if (outline != null) { couid = outline.Cou_ID; course = Business.Do <ICourse>().CourseSingle(couid); this.Document.SetValue("course", course); } if (course == null && couid > 0) { course = Business.Do <ICourse>().CourseSingle(couid); } //是否购买该课程 Song.Entities.Course couBuy = Business.Do <ICourse>().IsBuyCourse(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID, 1); bool isBuy = couBuy != null; //是否购买,如果免费也算已经购买 this.Document.SetValue("isBuy", isBuy || course.Cou_IsFree); if (couBuy == null) { couBuy = course; } this.Document.SetValue("couBuy", couBuy); //试用的题数 this.Document.SetValue("tryNum", course.Cou_TryNum); sumCount = isBuy || course.Cou_IsFree ? Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true) : course.Cou_TryNum; //this.Document.SetValue("sumCount", sumCount); int total = Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true); this.Document.SetValue("Total", total); //试题的总数 //题型 this.Document.SetValue("quesType", WeiSha.Common.App.Get["QuesType"].Split(',')); //试题列表 string uid = string.Format("Questions:{0}-{1}-{2}-{3}", couid, olid, start, size); //缓存的uid Song.Entities.Questions[] ques = Business.Do <IQuestions>().CacheQuestions(uid); if (ques == null) { ques = Business.Do <IQuestions>().QuesCount(-1, -1, couid, olid, -1, -1, true, start - 1, size); for (int i = 0; i < ques.Length; i++) { ques[i] = Extend.Questions.TranText(ques[i]); ques[i].Qus_Title = ques[i].Qus_Title.Replace("<", "<"); ques[i].Qus_Title = ques[i].Qus_Title.Replace(">", ">"); ques[i].Qus_Title = Extend.Html.ClearHTML(ques[i].Qus_Title, "p", "div", "font"); ques[i].Qus_Title = ques[i].Qus_Title.Replace("\n", "<br/>"); if (!string.IsNullOrWhiteSpace(ques[i].Qus_Answer)) { ques[i].Qus_Answer = ques[i].Qus_Answer.Replace(" ", " "); } } uid = Business.Do <IQuestions>().CacheAdd(ques, 60 * 24, uid); } List <Song.Entities.Questions> list = new List <Entities.Questions>(); if (isBuy || course.Cou_IsFree) { list = ques.ToList <Song.Entities.Questions>(); //如果已经购买或免费; } if (!(isBuy || course.Cou_IsFree)) { for (int i = 0; i < sumCount; i++) { list.Add(ques[i]); //如果还在试用 } } this.Document.SetValue("uid", uid); this.Document.SetValue("ques", list); this.Document.RegisterGlobalFunction(this.AnswerItems); this.Document.RegisterGlobalFunction(this.GetAnswer); this.Document.RegisterGlobalFunction(this.GetOrder); this.Document.RegisterGlobalFunction(this.IsCollect); }
protected override void InitPageTemplate(HttpContext context) { //登录且学员必须通过审核 if (!(Extend.LoginState.Accounts.IsLogin && Extend.LoginState.Accounts.CurrentUser.Ac_IsPass)) { return; } #region 基本信息布局 //题型 this.Document.SetValue("quesType", WeiSha.Common.App.Get["QuesType"].Split(',')); //难度 Tag diffTag = this.Document.GetChildTagById("diff"); if (diffTag != null) { string tm = diffTag.Attributes.GetValue("level", ""); this.Document.SetValue("diff", tm.Split(',')); } //每页的题量*********** //总题数 int sumCount = 0; Song.Entities.Outline outline = Business.Do <IOutline>().OutlineSingle(olid); if (outline != null) { bool isBuy = Business.Do <ICourse>().IsBuy(outline.Cou_ID, Extend.LoginState.Accounts.CurrentUserId, 1); if (isBuy) { sumCount = Business.Do <IQuestions>().QuesOfCount(Organ.Org_ID, 0, 0, olid, type, diff, true); } else { //是否在试用中 bool istry = Business.Do <ICourse>().IsTryout(outline.Cou_ID, this.Account.Ac_ID); Song.Entities.Course course = Business.Do <ICourse>().CourseSingle(outline.Cou_ID); if (course.Cou_IsTry) { sumCount = Business.Do <IQuestions>().QuesOfCount(Organ.Org_ID, 0, 0, olid, type, diff, true); sumCount = sumCount > course.Cou_TryNum ? course.Cou_TryNum : sumCount; } this.Document.Variables.SetValue("isTry", istry); } } //计算分页,200个记录不分页,每页默认100条,最多10页 QuestionPagerItem qpi = new QuestionPagerItem(200, 100, 10); //sumCount = WeiSha.Common.Request.QueryString["sum"].Int32 ?? 0; //仅供测试 List <QuestionPagerItem> pager = qpi.Builder(sumCount); this.Document.SetValue("pager", pager); this.Document.SetValue("sumCount", sumCount); //与当前索引页码与取值长度 if (!string.IsNullOrWhiteSpace(indexPara)) { if (indexPara.IndexOf("-") > -1) { int.TryParse(indexPara.Substring(0, indexPara.IndexOf("-")), out index); int.TryParse(indexPara.Substring(indexPara.IndexOf("-") + 1), out size); } } else { index = pager.First <QuestionPagerItem>().Index; size = pager.First <QuestionPagerItem>().Size; } this.Document.SetValue("index", index); #endregion // //自定义配置项 WeiSha.Common.CustomConfig config = CustomConfig.Load(Organ.Org_Config); //如果需要学员登录后才能学习 bool isTraningLogin = config["IsTraningLogin"].Value.Boolean ?? false; this.Document.SetValue("isTraningLogin", isTraningLogin); //试题 Song.Entities.Questions[] ques = null; if (isTraningLogin) { //登录且学员必须通过审核 if (Extend.LoginState.Accounts.IsLogin && Extend.LoginState.Accounts.CurrentUser.Ac_IsPass) { ques = Business.Do <IQuestions>().QuesCount(Organ.Org_ID, 0, 0, olid, type, diff, true, index - 1, size); //ques = Business.Do<IQuestions>().QuesRandom(Organ.Org_ID, -1, -1, olid, type, diff, diff, true, count); } } else { ques = Business.Do <IQuestions>().QuesCount(Organ.Org_ID, 0, 0, olid, type, diff, true, index - 1, size); //ques = Business.Do<IQuestions>().QuesRandom(Organ.Org_ID, -1, -1, olid, type, diff, diff, true, count); } if (ques != null) { for (int i = 0; i < ques.Length; i++) { ques[i] = Extend.Questions.TranText(ques[i]); ques[i].Qus_Title = ques[i].Qus_Title.Replace("<", "<"); ques[i].Qus_Title = ques[i].Qus_Title.Replace(">", ">"); ques[i].Qus_Title = Extend.Html.ClearHTML(ques[i].Qus_Title, "p", "div", "font", "pre"); ques[i].Qus_Title = ques[i].Qus_Title.Replace("\n", "<br/>"); } } this.Document.SetValue("ques", ques); this.Document.RegisterGlobalFunction(this.GetTypeName); this.Document.RegisterGlobalFunction(this.AnswerItems); this.Document.RegisterGlobalFunction(this.GetAnswer); this.Document.RegisterGlobalFunction(this.GetOrder); this.Document.RegisterGlobalFunction(this.IsCollect); }
protected override void InitPageTemplate(HttpContext context) { //传递过来的试题总记录数 if (!Extend.LoginState.Accounts.IsLogin) { this.Response.Redirect("login.ashx"); } //当前章节 Song.Entities.Outline outline = Business.Do <IOutline>().OutlineSingle(olid); this.Document.SetValue("outline", outline); //当前课程 Song.Entities.Course course = null; if (outline != null) { couid = outline.Cou_ID; course = Business.Do <ICourse>().CourseSingle(couid); this.Document.SetValue("course", course); } if (course == null && couid > 0) { course = Business.Do <ICourse>().CourseSingle(couid); } //是否购买该课程 Song.Entities.Course couBuy = Business.Do <ICourse>().IsBuyCourse(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID, 1); bool isBuy = couBuy != null; //是否购买,如果免费也算已经购买 this.Document.SetValue("isBuy", isBuy || course.Cou_IsFree); if (couBuy == null) { couBuy = course; } this.Document.SetValue("couBuy", couBuy); //试用的题数 this.Document.SetValue("tryNum", course.Cou_TryNum); int sumCount = isBuy || course.Cou_IsFree ? Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true) : course.Cou_TryNum; //this.Document.SetValue("sumCount", sumCount); int total = Business.Do <IQuestions>().QuesOfCount(-1, -1, couid, olid, -1, true); this.Document.SetValue("Total", total); //试题的总数 //题型 this.Document.SetValue("quesType", WeiSha.Common.App.Get["QuesType"].Split(',')); //试题列表 Song.Entities.Questions[] ques = Business.Do <IQuestions>().CacheQuestions("all"); List <Song.Entities.Questions> list = new List <Entities.Questions>(); //按章节取题 if (olid > 0) { List <int> olids = Business.Do <IOutline>().TreeID(olid); list = GetQues(olids, ques); } else { //按钮课程取题 foreach (Song.Entities.Questions q in ques) { if (q.Cou_ID != couid) { continue; } list.Add(q); } } ques = list.ToArray(); if (ques == null) { ques = Business.Do <IQuestions>().QuesCount(-1, -1, couid, olid, -1, -1, true, 0 - 1, count); for (int i = 0; i < ques.Length; i++) { ques[i] = Extend.Questions.TranText(ques[i]); ques[i].Qus_Title = ques[i].Qus_Title.Replace("<", "<"); ques[i].Qus_Title = ques[i].Qus_Title.Replace(">", ">"); ques[i].Qus_Title = Extend.Html.ClearHTML(ques[i].Qus_Title, "p", "div", "font"); ques[i].Qus_Title = ques[i].Qus_Title.Replace("\n", "<br/>"); if (!string.IsNullOrWhiteSpace(ques[i].Qus_Answer)) { ques[i].Qus_Answer = ques[i].Qus_Answer.Replace(" ", " "); } } } //List<Song.Entities.Questions> list = new List<Entities.Questions>(); //if (isBuy || course.Cou_IsFree) list = ques.ToList<Song.Entities.Questions>(); //如果已经购买或免费; //if (!(isBuy || course.Cou_IsFree)) //{ // for (int i = 0; i < sumCount; i++) list.Add(ques[i]); //如果还在试用 //} //this.Document.SetValue("uid", uid); this.Document.SetValue("ques", list); this.Document.RegisterGlobalFunction(this.AnswerItems); this.Document.RegisterGlobalFunction(this.GetOrder); this.Document.RegisterGlobalFunction(this.IsCollect); }