Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
 public HtmlTableRender(ITableDefinition <TModel> tableDefinition, ITableUrlManager urlManager)
 {
     _tableDefinition = tableDefinition;
     _urlManager      = urlManager;
 }