예제 #1
0
        public async Task <IEnumerable <SubjectList> > GetSubjects(SubjectSearch specification = null)
        {
            specification ??= new SubjectSearch();

            IQueryable <Subject> query = _dbContext.Subjects;

            // Szűrés megvalósítása
            if (specification.Credit != null && int.TryParse(specification.Credit, out int n))
            {
                query = query.Where(b => b.Credit == n);
            }

            if (!string.IsNullOrWhiteSpace(specification?.SearchText))
            {
                query = query.Where(b => b.Description.Contains(specification.SearchText) || b.Title.Contains(specification.SearchText));
            }

            // Rendezés
            if (specification.IsAsc)
            {
                query = query.OrderBy(b => b.Title);
            }
            else
            {
                query = query.OrderByDescending(b => b.Title);
            }
            query = query.Take(10).Skip((specification.Page) * 10);
            return(await query.Select(x => new SubjectList()
            {
                Id = x.Id,
                Credit = x.Credit,
                Description = x.Description,
                Title = x.Title,
                Creator = x.User.Name
            }).ToListAsync());
        }
예제 #2
0
        /// <summary>
        /// 搜索科目信息
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="keyword"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public PagerModel <Subjects> Search(int pageSize, int pageIndex, string keyword, int?status)
        {
            SubjectSearch search = new SubjectSearch(pageIndex, pageSize, keyword, status);

            return(search.Search());
        }