PaginationRequestModel.cs 803 B

123456789101112131415161718192021222324252627282930313233343536
  1. namespace WebApp.Models;
  2. public class PaginationRequestModel
  3. {
  4. private readonly int DefaultItemsPerPage = 10;
  5. private readonly int DefaultPageNumber = 1;
  6. private int? itemsPerPage;
  7. private int? pageNumber;
  8. public int? ItemsPerPage
  9. {
  10. get
  11. {
  12. if (itemsPerPage == null || itemsPerPage <= 0)
  13. itemsPerPage = DefaultItemsPerPage;
  14. return itemsPerPage;
  15. }
  16. set => itemsPerPage = value;
  17. }
  18. public int? PageNumber
  19. {
  20. get
  21. {
  22. if (pageNumber is null || pageNumber <= 0)
  23. pageNumber = DefaultPageNumber;
  24. return pageNumber;
  25. }
  26. set => pageNumber = value;
  27. }
  28. public int SkipCount => (PageNumber!.Value - 1) * ItemsPerPage!.Value;
  29. }