예제 #1
0
        /// <summary>
        /// 随机出题(因功能废弃暂未实现主客观题2:1比例)
        /// </summary>
        /// <param name="courseId"></param>
        /// <param name="kpointId"></param>
        /// <param name="cpointId"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public ActionResult RandomQuestions(int courseId, int kpointId, int cpointId, int count)
        {
            List <dto_Question> list = null;

            if (count <= 20)
            {
                int[] qids = B_Ques.GetQuesIds(courseId, kpointId, cpointId, count);

                if (qids != null && qids.Length > 0)
                {
                    list = new List <dto_Question>();
                    foreach (var q in qids)
                    {
                        dto_Question ques = B_QuesRedis.GetQuestion(courseId, q);
                        if (ques != null)
                        {
                            //暴露的qid重写
                            ques.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Ques, ques.id);
                            ques.id    = 0;
                            if (ques.Children != null && ques.Children.Count > 0)
                            {
                                ques.Children.ForEach(a => {
                                    a.NewId = IdNamingHelper.Encrypt(IdNamingHelper.IdTypeEnum.Ques, a.id);
                                    a.id    = 0;
                                });
                            }
                            list.Add(ques);
                        }
                    }
                }
            }

            ViewBag.QuesList = list;
            return(PartialView());
        }
예제 #2
0
        /// <summary>
        /// 试题使用次数加一
        /// </summary>
        /// <param name="courseId"></param>
        /// <param name="questions"></param>
        private void IncreaseQuesUsageTimes(int courseId, string[] questions)
        {
            foreach (var q in questions)
            {
                B_QuesRedis.IncreaseUsageTimes(IdNamingHelper.Decrypt(IdNamingHelper.IdTypeEnum.Ques, long.Parse(q)));
            }

            B_Ques.IncreaseUsageTimes(courseId, questions);
        }