Example #1
0
        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);
        }
Example #2
0
        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("&lt;", "<");
                ques[i].Qus_Title = ques[i].Qus_Title.Replace("&gt;", ">");
                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("&nbsp;", " ");
                }
            }
            //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("&lt;", "<");
                    ques[i].Qus_Title = ques[i].Qus_Title.Replace("&gt;", ">");
                    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("&nbsp;", " ");
                    }
                }
                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);
        }
Example #4
0
 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("&lt;", "<");
             ques[i].Qus_Title = ques[i].Qus_Title.Replace("&gt;", ">");
             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);
 }
Example #5
0
        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("&lt;", "<");
                    ques[i].Qus_Title = ques[i].Qus_Title.Replace("&gt;", ">");
                    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("&nbsp;", " ");
                    }
                }
            }
            //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);
        }