public static int PageCount(this IPaginatedMenu menu) { Ensure.That(menu, nameof(menu)).IsNotNull(); var size = menu.PageSize; return(size == 0 ? 0 : Math.Max(0, menu.ItemCount - 1) / menu.PageSize + 1); }
public IMenu Execute(params string[] args) { IPaginatedMenu menu = (IPaginatedMenu)this.session.CurrentMenu; menu.ChangePage(true); return(menu); }
public static void Next(this IPaginatedMenu menu) { Ensure.That(menu, nameof(menu)).IsNotNull(); var lastPage = menu.PageSize == 0 ? 0 : (int)Math.Floor(Math.Abs(menu.ItemCount - 0.5f) / menu.PageSize); menu.Page = Math.Min(lastPage, menu.Page + 1); }
public IMenu Execute(params string[] args) { IPaginatedMenu currentMenu = (IPaginatedMenu)this.session.CurrentMenu; if (currentMenu is IPaginatedMenu paginatedMenu) { paginatedMenu.ChangePage(); } return(currentMenu); }
public static void Previous(this IPaginatedMenu menu) { Ensure.That(menu, nameof(menu)).IsNotNull(); menu.Page = Math.Max(0, menu.Page - 1); }
public static void First(this IPaginatedMenu menu) { Ensure.That(menu, nameof(menu)).IsNotNull(); menu.Page = 0; }