예제 #1
0
        /// <summary>
        /// 获取主知识点的下拉列表项
        /// </summary>
        /// <param name="text"></param>
        /// <param name="searchValue"></param>
        /// <param name="pageNumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public ActionResult GetKernelKnowledgePoint(
            string text,
            int searchValue = 0,//select page预选值的id
            int pageNumber  = 1,
            int pageSize    = 10)
        {
            DtoKnowledgeSearch search = new DtoKnowledgeSearch
            {
                Level      = KnowledgeEnum.四级知识点,
                Pagination = new PagingObject(pageNumber, pageSize)
            };

            if (searchValue > 0)//为预选值加载数据
            {
                search.Ids = new List <int> {
                    searchValue
                };
            }
            else//根据用户数据进行查询
            {
                int id = -1;
                if (!int.TryParse(text, out id))//转换id失败,则为根据关键字查询
                {
                    search.Keyword = text;
                }
                else//转换id成功,则是根据id查询
                {
                    search.Ids = new List <int> {
                        id
                    };
                }
            }

            return(GetKnowledages(search));
        }
예제 #2
0
 /// <summary>
 /// 录入题目时,获取知识点
 /// </summary>
 /// <param name="paging"></param>
 /// <param name="id"></param>
 /// <param name="ids"></param>
 /// <param name="kernelKownledagePointId"></param>
 /// <param name="nameOrkey"></param>
 /// <param name="level"></param>
 /// <returns></returns>
 public IList <Yw_Knowledge> GetKnowledgeForSubject(
     DtoKnowledgeSearch search)
 {
     if (search.Ids != null && search.Ids.Count > 0)
     {
         return(KnowledgeRepository.GetKnowledgeByIds(search));
     }
     else if (search.Keyword.HasValue())
     {
         var knowledgeIds = KnowledgeIndexRepository.GetPagingKnowledgeIndexIds(
             search.Pagination,
             (int)search.Level.Value,
             search.Keyword,
             search.ParentId);
         Dictionary <int, int> orderDic = knowledgeIds.ToOrderDic();
         var knowledgeList = KnowledgeRepository.GetKnowledgeByIds(knowledgeIds);
         knowledgeList = knowledgeList.OrderBy(x => orderDic[x.Ykl_Id]).ToList();
         return(knowledgeList);
     }
     else
     {
         return(KnowledgeRepository.GetPagingKnowledge(
                    search.Pagination,
                    0,
                    (int)search.Level.Value));
     }
 }
예제 #3
0
        private JsonResult GetKnowledages(DtoKnowledgeSearch search)
        {
            KnowledgeBll         bll = new KnowledgeBll();
            IList <Yw_Knowledge> kernelKnowledgePoints = bll.GetKnowledgeForSubject(search);
            var result = kernelKnowledgePoints.Select(k => new SelectPageOption
            {
                Key  = k.Ykl_Id,
                Text = k.Ykl_Name
            });

            return(Json(new
            {
                totalRow = search.Pagination.TotalCount,
                list = result
            }, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        public IList <Yw_Knowledge> GetKnowledgeByIds(DtoKnowledgeSearch search)
        {
            if (search.Ids == null || search.Ids.Count == 0)
            {
                return(new List <Yw_Knowledge>());
            }

            StringBuilder whereBuilder = new StringBuilder();

            whereBuilder.Append("Yw_Knowledge where 1 = 1 and Ykl_Id in @Ids");
            if (search.Level.HasValue)
            {
                whereBuilder.Append(" and Ykl_Level = @Level");
            }

            return(QueryPaging <Yw_Knowledge>(
                       "*",
                       whereBuilder.ToString(),
                       "Ykl_CreateTime DESC",
                       search.Pagination,
                       new { Level = (int)search.Level, Ids = search.Ids }).ToList());
        }
예제 #5
0
        public ActionResult GetSecondaryKnowledgePoints(
            string text,
            string searchValue,
            int kernelKonwledgePointId = 0,
            int pageNumber             = 1,
            int pageSize = 10)
        {
            DtoKnowledgeSearch search = new DtoKnowledgeSearch
            {
                Level      = KnowledgeEnum.四级知识点,
                Pagination = new PagingObject(pageNumber, pageSize),
                ParentId   = kernelKonwledgePointId
            };

            if (searchValue.HasValue())
            {
                search.Ids = searchValue.Split(',')
                             .Select(s => int.Parse(s))
                             .ToList();
            }
            else
            {
                int id = -1;
                if (!int.TryParse(text, out id))//转换id失败,则为根据关键字查询
                {
                    search.Keyword = text;
                }
                else//转换id成功,则是根据id查询
                {
                    search.Ids = new List <int> {
                        id
                    };
                }
            }

            return(GetKnowledages(search));
        }