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 });