Ejemplo n.º 1
0
        private string CreateUri(ArticleParameters parameters, PaginationUriType uriType)
        {
            switch (uriType)
            {
            case PaginationUriType.PreviousPage:
                var previours = new
                {
                    PageIndex = parameters.PageIndex - 1,
                    PageSize  = parameters.PageSize,
                    OrderBy   = parameters.OrderBy,
                    //fields=parameters
                };
                return(_urlHelper.Link("GetArticles", previours));

            case PaginationUriType.NextPage:
                var next = new
                {
                    PageIndex = parameters.PageIndex + 1,
                    PageSize  = parameters.PageSize,
                    OrderBy   = parameters.OrderBy,
                    //fields=parameters
                };
                return(_urlHelper.Link("GetArticles", next));

            default:
                var current = new
                {
                    PageIndex = parameters.PageIndex,
                    PageSize  = parameters.PageSize,
                    OrderBy   = parameters.OrderBy,
                    //fields=parameters
                };
                return(_urlHelper.Link("GetArticles", current));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 生成分页前后页URI
        /// </summary>
        /// <param name="urlHelper"></param>
        /// <param name="parameters"></param>
        /// <param name="type"></param>
        /// <param name="routeName"></param>
        /// <returns></returns>
        private string CreateUri(PaginationParameters parameters, PaginationUriType type, string routeName)
        {
            switch (type)
            {
            case PaginationUriType.PrePage:
                var preParameters = new
                {
                    PageNumber = parameters.PageNumber - 1,
                    parameters.PageSize,
                    SortBy = string.IsNullOrWhiteSpace(parameters.SortBy) || string.Equals(parameters.SortBy, nameof(IEntity.Id)) ? string.Empty : (parameters.IsAsc ? parameters.SortBy : $"-{parameters.SortBy}")
                };
                return(Url.Link(routeName, preParameters));

            case PaginationUriType.NextPage:
                var nextParameters = new
                {
                    PageNumber = parameters.PageNumber + 1,
                    parameters.PageSize,
                    SortBy = string.IsNullOrWhiteSpace(parameters.SortBy) || string.Equals(parameters.SortBy, nameof(IEntity.Id)) ? string.Empty : (parameters.IsAsc ? parameters.SortBy : $"-{parameters.SortBy}")
                };
                return(Url.Link(routeName, nextParameters));

            default:
                return(null);
            }
        }
Ejemplo n.º 3
0
        public string CreatePageUri(PaginationRequest request, PaginationUriType uriType, string action, Guid?containerId = null, string filter = null, IEnumerable <string> fields = null)
        {
            int pageNumber = uriType == PaginationUriType.PreviousPage ? request.PageNumber - 1 : request.PageNumber + 1;

            return(_urlHelper.Link(action, new RouteValueDictionary
            {
                { "pageSize", request.PageSize },
                { "pageNumber", pageNumber }
            }));
        }
Ejemplo n.º 4
0
        public string CreatePageUri(PaginationRequest request, PaginationUriType uriType, string action, Guid?entityId = null, string filter = null, IEnumerable <string> fields = null)
        {
            int pageNumber = uriType == PaginationUriType.PreviousPage ? request.PageNumber - 1 : request.PageNumber + 1;

            return(_urlHelper.Link(action, new RouteValueDictionary
            {
                { "id", entityId },
                { "pageSize", request.PageSize },
                { "pageNumber", pageNumber },
                { "$filter", filter },
                { "$projection", string.Join(",", fields ?? new string[] { }) }
            }));
        }
Ejemplo n.º 5
0
        public string CreatePageUri(PaginationRequest request, PaginationUriType uriType, string action, RouteValueDictionary routeValueDictionary)
        {
            int pageNumber  = uriType == PaginationUriType.PreviousPage ? request.PageNumber - 1 : request.PageNumber + 1;
            var routeValues = new RouteValueDictionary
            {
                { "pageSize", request.PageSize },
                { "pageNumber", pageNumber }
            };

            foreach (var rv in routeValueDictionary)
            {
                routeValues[rv.Key] = rv.Value;
            }

            return(_urlHelper.Link(action, routeValues));
        }
Ejemplo n.º 6
0
        private string CreateVehicleUri(PaginationBase parameters, PaginationUriType uriType)
        {
            switch (uriType)
            {
            case PaginationUriType.PreviousPage:
                var previousParameters = parameters.Clone();
                previousParameters.PageIndex--;
                return(_urlHelper.Link("GetPagedVehicles", previousParameters));

            case PaginationUriType.NextPage:
                var nextParameters = parameters.Clone();
                nextParameters.PageIndex++;
                return(_urlHelper.Link("GetPagedVehicles", nextParameters));

            case PaginationUriType.CurrentPage:
            default:
                return(_urlHelper.Link("GetPagedVehicles", parameters));
            }
        }
        public string CreatePageUri(PaginationRequest request, PaginationUriType uriType, string action, RouteValueDictionary routeValueDictionary)
        {
            int pageNumber = uriType == PaginationUriType.PreviousPage ? request.PageNumber - 1 : request.PageNumber + 1;

            return(UrlHelper.Link(action, routeValueDictionary));
        }
        public string CreatePageUri(PaginationRequest request, PaginationUriType uriType, string action, Guid?containerId = null, string filter = null, IEnumerable <string> fields = null)
        {
            int pageNumber = uriType == PaginationUriType.PreviousPage ? request.PageNumber - 1 : request.PageNumber + 1;

            return(UrlHelper.Link(action, new { query = filter, pageSize = request.PageSize, pageNumber }));
        }
Ejemplo n.º 9
0
        private string GenerateResourceUri(int pageNumber, int pageSize, int totalPages, PaginationUriType pagingType)
        {
            switch (pagingType)
            {
            case PaginationUriType.PreviousPage:
                return(pageNumber > 1 ? _urlHelper.Link("GetCourses", new
                {
                    pageNumber = pageNumber - 1,
                    pageSize
                }) : null);

            case PaginationUriType.NextPage:
                return(pageNumber < totalPages?_urlHelper.Link("GetCourses", new
                {
                    pageNumber = pageNumber + 1,
                    pageSize
                }) : null);

            default:
                return(_urlHelper.Link("GetCourses", new
                {
                    pageNumber,
                    pageSize
                }));
            }
        }