1 //==================这是用的API====================
2 //分页查询
3 [Route("api/page")]
4 [HttpGet]
5 public PageModel GetPage(int pagesize = 3, int pageindex = 1, string coupontype = "", string couponname = "", int state = 2)
6 {
7 if (pageindex < 1)//正确传入页码
8 {
9 pageindex = 1;
10 }
11 //查询出所有数据
12 List<GetrecordModel> list = getbll.GetGetrecords();
13 //判断该集合是否为空
14 if (list != null && list.Count > 0)
15 {
16 //根据条件进行判断
17 if (!string.IsNullOrEmpty(coupontype))
18 {
19 list = list.Where(s => s.CouponType == coupontype).ToList();
20 }
21 if (!string.IsNullOrEmpty(couponname))
22 {
23 list = list.Where(s => s.CouponName == couponname).ToList();
24 }
25 if (state == 1 || state == 0)
26 {
27 list = list.Where(s => s.State == state).ToList();
28 }
29 }
30 int count = list.Count;//获取查询后的总条数
31 int page;//用来存储页数变量
32 //计算页数
33 if (count % pagesize == 0)
34 {
35 page = count / pagesize;
36 }
37 else
38 {
39 page = count / pagesize + 1;
40 }
41 if (pageindex > page)//正确传入页码
42 {
43 pageindex = page;
44 }
45 //分页显示
46 list = list.Skip((pageindex - 1) * pagesize).Take(pagesize).ToList();
47
48 //定义一个PageModel存储分页后的数据以及页码、页数、总页数
49 var m = new PageModel();
50 m.list = list;
51 m.PageIndex = pageindex;
52 m.TotalCount = count;
53 m.TotalPage = page;
54 return m;
55 }