PaginationList.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4. using System.Linq;
  5. namespace FMSAdmin.Models {
  6. public class PaginationList<T> {
  7. public int page { get; set; }
  8. public int total { get; set; }
  9. public int limit { get; set; }
  10. public int pages { get; set; }
  11. public IEnumerable<T> list { get; set; }
  12. public static PagingList Pagination(IQueryable<T> list, int page, int limit) {
  13. var pagedList = new PagingList();
  14. var skip = (page - 1) * limit;
  15. if (limit > 0) {
  16. list = list.Skip(skip).Take(limit);
  17. }
  18. pagedList.total = list.Count();
  19. pagedList.list = list;
  20. pagedList.page = page;
  21. if (limit > 0) {
  22. pagedList.pages = (int)Math.Ceiling((float)pagedList.total / (float)limit);
  23. }
  24. pagedList.limit = limit;
  25. return pagedList;
  26. }
  27. }
  28. public class PagingList {
  29. public int page { get; set; }
  30. public int total { get; set; }
  31. public int limit { get; set; }
  32. public int pages { get; set; }
  33. public IEnumerable list { get; set; }
  34. public static PagingList Pagination(IQueryable<object> list, int page, int limit) {
  35. var pagedList = new PagingList();
  36. var skip = (page - 1) * limit;
  37. if (limit > 0) {
  38. list = list.Skip(skip).Take(limit);
  39. }
  40. pagedList.total = list.Count();
  41. pagedList.list = list;
  42. pagedList.page = page;
  43. if (limit > 0) {
  44. pagedList.pages = (int)Math.Ceiling((float)pagedList.total / (float)limit);
  45. }
  46. pagedList.limit = limit;
  47. return pagedList;
  48. }
  49. public static PagingList Pagination<T>(IQueryable<T> list, int page, int limit) {
  50. var pagedList = new PagingList();
  51. var skip = (page - 1) * limit;
  52. pagedList.total = list.Count();
  53. if (limit > 0) {
  54. list = list.Skip(skip).Take(limit);
  55. }
  56. pagedList.list = list;
  57. pagedList.page = page;
  58. if (limit > 0) {
  59. pagedList.pages = (int)Math.Ceiling((float)pagedList.total / (float)limit);
  60. }
  61. pagedList.limit = limit;
  62. return pagedList;
  63. }
  64. }
  65. }