Пример #1
0
        public static PagedResponse <IEnumerable <T> > CreatePagedReponse <T>(List <T> pagedData, PagedConfig pagedConfig, IUriService uriService)
        {
            var respose = new PagedResponse <IEnumerable <T> >(pagedData, pagedConfig.PageNumber, pagedConfig.PageSize);

            var totalPages = ((double)pagedConfig.TotalRecords / (double)pagedConfig.PageSize);

            int roundedTotalPages = Convert.ToInt32(Math.Ceiling(totalPages));

            respose.NextPage     = GetNextPageUri(uriService, pagedConfig, roundedTotalPages);
            respose.PreviousPage = GetPreviousPageUri(uriService, pagedConfig, roundedTotalPages);

            respose.FirstPage = uriService.GetPageUri(new PaginationFilter(1, pagedConfig.PageSize), pagedConfig.Route);
            respose.LastPage  = uriService.GetPageUri(new PaginationFilter(roundedTotalPages, pagedConfig.PageSize), pagedConfig.Route);

            respose.TotalPages   = roundedTotalPages;
            respose.TotalRecords = pagedConfig.TotalRecords;

            return(respose);
        }
Пример #2
0
 private static Uri GetPreviousPageUri(IUriService uriService, PagedConfig pagedConfig, int roundedTotalPages)
 {
     return(pagedConfig.PageNumber - 1 >= 1 && pagedConfig.PageNumber <= roundedTotalPages
         ? uriService.GetPageUri(new PaginationFilter(pagedConfig.PageNumber - 1, pagedConfig.PageSize), pagedConfig.Route)
         : null);
 }