示例#1
0
        public JsonResult StudentInfoList([FromBody] QueryParameters query)
        {
            ResultState resultState = CheckCookie();

            if (resultState.Code == 2)
            {
                int            count = _context.students.Count();
                List <Student> studentsInCurrentList = new List <Student>();
                //初始化用户表
                PageInfoList pageStudents = new PageInfoList();
                pageStudents.items     = studentsInCurrentList;
                pageStudents.count     = count;
                pageStudents.pageIndex = query.PageIndex;
                pageStudents.pageSize  = query.PageSize;
                //查询
                if (query.PageIndex <= 0)
                {
                    studentsInCurrentList  = _context.students.Take(query.PageSize).ToList();
                    pageStudents.items     = studentsInCurrentList;
                    pageStudents.pageIndex = 1;
                }
                else if ((query.PageSize * query.PageIndex) <= count)
                {
                    studentsInCurrentList = _context.students.Skip(query.PageSize * (query.PageIndex - 1))
                                            .Take(query.PageSize).ToList();
                    pageStudents.items = studentsInCurrentList;
                }
                else if ((query.PageSize * query.PageIndex) > count && count % query.PageSize == 0)
                {
                    studentsInCurrentList = _context.students.Skip(count - query.PageSize).Take(query.PageSize).ToList();
                    pageStudents.items    = studentsInCurrentList;
                    //count超过最后一页,count / query.PageSize可以整除的情况
                    pageStudents.pageIndex = count / query.PageSize;
                }
                else
                {
                    studentsInCurrentList = _context.students.Skip(count - count % query.PageSize).Take(count % query.PageSize).ToList();
                    pageStudents.items    = studentsInCurrentList;
                    //count超过最后一页,pageIndex为最后一页count / query.PageSize一定不是整数
                    pageStudents.pageIndex = (count / query.PageSize) + 1;
                }
                resultState.Success = true;
                resultState.Message = "查询成功";
                resultState.value   = pageStudents;
            }
            return(new JsonResult(resultState));
        }
示例#2
0
        public async Task <JsonResult> CourseList([FromBody] QueryParameters query)
        {
            PageInfoList pageInfoList = new PageInfoList();
            int          count        = _context.Courses.AsNoTracking().Count();

            pageInfoList.count     = count;
            pageInfoList.pageIndex = query.PageIndex;
            pageInfoList.pageSize  = query.PageSize;
            if (query.PageIndex <= 0)
            {
                var item = await _context.Courses.Take(query.PageSize).ToListAsync();

                pageInfoList.items     = item;
                pageInfoList.pageIndex = 1;
            }
            else if (query.PageSize * query.PageIndex <= pageInfoList.count)
            {
                var item = await _context.Courses.AsNoTracking().Skip((query.PageIndex - 1) * query.PageSize).Take(query.PageSize).ToListAsync();

                pageInfoList.items = item;
            }
            else
            {
                if (count % query.PageSize == 0)
                {
                    var item = await _context.Courses.AsNoTracking().Skip(count - query.PageSize).Take(query.PageSize).ToListAsync();

                    pageInfoList.items     = item;
                    pageInfoList.pageIndex = count / query.PageSize;
                }
                else
                {
                    var item = await _context.Courses.AsNoTracking().Skip(count - count % query.PageSize).Take(query.PageSize).ToListAsync();

                    pageInfoList.items     = item;
                    pageInfoList.pageIndex = count / query.PageSize + 1;
                }
            }
            return(new JsonResult(pageInfoList));
        }