2022-09-04 15:04:14 +00:00
|
|
|
namespace Elsa.Common.Models;
|
2022-01-04 08:42:12 +00:00
|
|
|
|
2023-06-06 18:49:14 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Represents pagination arguments.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="Page">The zero-based page number.</param>
|
|
|
|
|
/// <param name="PageSize">The number of items per page.</param>
|
2022-04-30 09:10:08 +00:00
|
|
|
public record PageArgs(int? Page, int? PageSize)
|
|
|
|
|
{
|
2023-06-06 18:49:14 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the offset of the page.
|
|
|
|
|
/// </summary>
|
2022-04-30 09:10:08 +00:00
|
|
|
public int? Offset => Page * PageSize;
|
2023-06-06 18:49:14 +00:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets the limit of the page.
|
|
|
|
|
/// </summary>
|
2022-04-30 09:10:08 +00:00
|
|
|
public int? Limit => PageSize;
|
2023-02-27 13:14:50 +00:00
|
|
|
|
2023-06-06 18:49:14 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Returns pagination arguments for the next page.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>The arguments for the next page.</returns>
|
2023-02-27 13:14:50 +00:00
|
|
|
public PageArgs Next() => this with { Page = Page + 1 };
|
2022-04-30 09:10:08 +00:00
|
|
|
}
|