public Paginator(ITableUrlManager urlManager, int totalRecords, int pageSize, int displayedPageCount, int currentPage) { _urlManager = urlManager; var last = (int) Math.Ceiling(totalRecords/(double) pageSize); _last = new Lazy<Page>(() => new Page(last, _urlManager.GetPagedUrl(last))); var previous = Math.Max(currentPage - 1, 1); _previous = new Lazy<Page>(() => new Page(previous, _urlManager.GetPagedUrl(previous))); var next = Math.Min(currentPage + 1, last); _next = new Lazy<Page>(() => new Page(next, _urlManager.GetPagedUrl(next))); _displayedPageCount = displayedPageCount; _currentPage = currentPage; _lastPage = last; }
public static ITableRender <TModel> Get <TModel>(ITableDefinition <TModel> config, TableRequestModel model, ITableUrlManager urlManager) { switch (model.Format) { case TableRenderFormat.Html: return(new HtmlTableRender <TModel>(config, urlManager)); case TableRenderFormat.Json: return(new JsonArrayTableRender <TModel>(config)); case TableRenderFormat.Xml: return(new XmlTableRender <TModel>(config)); case TableRenderFormat.Csv: return(new CsvTableRender <TModel>(config)); } throw new Exception("Unknown table render type"); }
public Paginator(ITableUrlManager urlManager, int totalRecords, int pageSize, int displayedPageCount, int currentPage) { _urlManager = urlManager; var last = (int)Math.Ceiling(totalRecords / (double)pageSize); _last = new Lazy <Page>(() => new Page(last, _urlManager.GetPagedUrl(last))); var previous = Math.Max(currentPage - 1, 1); _previous = new Lazy <Page>(() => new Page(previous, _urlManager.GetPagedUrl(previous))); var next = Math.Min(currentPage + 1, last); _next = new Lazy <Page>(() => new Page(next, _urlManager.GetPagedUrl(next))); _displayedPageCount = displayedPageCount; _currentPage = currentPage; _lastPage = last; }
public HtmlTableRender(ITableDefinition <TModel> tableDefinition, ITableUrlManager urlManager) { _tableDefinition = tableDefinition; _urlManager = urlManager; }