2023-12-04 23:42:46 +00:00
|
|
|
namespace BotSharp.Abstraction.Utilities;
|
|
|
|
|
|
|
|
|
|
public class Pagination
|
|
|
|
|
{
|
2024-02-05 00:38:00 +00:00
|
|
|
private int _page;
|
2024-05-29 02:20:38 +00:00
|
|
|
private int _size;
|
2024-02-05 00:38:00 +00:00
|
|
|
|
|
|
|
|
public int Page
|
|
|
|
|
{
|
|
|
|
|
get { return _page > 0 ? _page : 1; }
|
|
|
|
|
set { _page = value; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int Size
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (_size <= 0) return 20;
|
|
|
|
|
if (_size > 100) return 100;
|
|
|
|
|
|
|
|
|
|
return _size;
|
2024-05-29 02:20:38 +00:00
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
_size = value;
|
|
|
|
|
}
|
2024-02-05 00:38:00 +00:00
|
|
|
}
|
|
|
|
|
|
2024-05-13 21:00:39 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Sort by field
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? Sort { get; set; }
|
|
|
|
|
|
2024-05-13 21:09:53 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Sort order: asc or desc
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Order { get; set; } = "asc";
|
|
|
|
|
|
2024-02-05 00:38:00 +00:00
|
|
|
public int Offset
|
|
|
|
|
{
|
|
|
|
|
get { return (Page - 1) * Size; }
|
|
|
|
|
}
|
2023-12-04 23:42:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class PagedItems<T>
|
|
|
|
|
{
|
|
|
|
|
public int Count { get; set; }
|
2024-02-04 05:42:13 +00:00
|
|
|
public IEnumerable<T> Items { get; set; } = new List<T>();
|
2023-12-04 23:42:46 +00:00
|
|
|
}
|