Paging.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using Quadarax.Foundation.Core.Data.Interface;
  3. namespace Quadarax.Foundation.Core.Data
  4. {
  5. public class Paging : IPaging
  6. {
  7. #region *** Properties ***
  8. /// <summary>
  9. /// Zero based index
  10. /// </summary>
  11. public int Page { get; }
  12. /// <summary>
  13. /// Number of items per page
  14. /// </summary>
  15. public int PageSize { get; }
  16. /// <summary>
  17. /// Defines if paging is disabled
  18. /// </summary>
  19. public bool IsDisabled { get; }
  20. #endregion
  21. #region *** Constructors ***
  22. public Paging(int page, int pageSize)
  23. {
  24. IsDisabled = pageSize == 0;
  25. Page = page;
  26. PageSize = pageSize;
  27. }
  28. public Paging()
  29. {
  30. IsDisabled = true;
  31. }
  32. public static Paging NoPaging()
  33. {
  34. return new Paging();
  35. }
  36. #endregion
  37. #region *** Overrides ***
  38. public override string ToString()
  39. {
  40. return $"Paging:IsDisabled={IsDisabled};Page={Page};PageSize={PageSize}";
  41. }
  42. #endregion
  43. }
  44. }