Esempio n. 1
0
        public string GeneratePagingLink(ResourceUriPagingType type, GetParameters parameters, string resourceType)
        {
            switch (type)
            {
            case ResourceUriPagingType.NextPage:
                parameters.pageNumber += 1;
                break;

            case ResourceUriPagingType.PreviousPage:
                parameters.pageNumber = parameters.pageNumber > 1 ? parameters.pageNumber - 1 : 0;
                break;

            default:
                break;
            }
            var urlHelper = (IUrlHelper)_httpContextAccessor.HttpContext.Items[BaseController.UrlHelper];
            //var resourceName = resourceType.GetType().Name;
            var url = urlHelper.Link($"Get{resourceType}s", parameters);

            return(url);
        }
 private string CreatePagingUri(AuthorsResourceParameters authorsResourceParameters, ResourceUriPagingType type)
 {
     return(type switch
     {
         ResourceUriPagingType.Next
         => this.Url.Link(
             "GetAuthors",
             new
         {
             authorsResourceParameters.Fields,
             authorsResourceParameters.MainCategory,
             authorsResourceParameters.SearchQuery,
             authorsResourceParameters.OrderBy,
             PageNumber = authorsResourceParameters.PageNumber + 1,
             authorsResourceParameters.PageSize
         }),
         ResourceUriPagingType.Prev
         => this.Url.Link(
             "GetAuthors",
             new
         {
             authorsResourceParameters.Fields,
             authorsResourceParameters.MainCategory,
             authorsResourceParameters.SearchQuery,
             authorsResourceParameters.OrderBy,
             PageNumber = authorsResourceParameters.PageNumber - 1,
             authorsResourceParameters.PageSize
         }),
         ResourceUriPagingType.Current
         => this.Url.Link(
             "GetAuthors",
             new
         {
             authorsResourceParameters.Fields,
             authorsResourceParameters.MainCategory,
             authorsResourceParameters.SearchQuery,
             authorsResourceParameters.OrderBy,
             authorsResourceParameters.PageNumber,
             authorsResourceParameters.PageSize
         }),
         _ => string.Empty
     });