private string CreateUsersResourceUri( int[] ids, ResourceParametersBase resourceParameters, ResourceUriType type) { var usersParameters = resourceParameters as UsersResourceParameters; switch (type) { case ResourceUriType.PreviousPage: return(Url.Link(nameof(GetUsers), new { pageNumber = usersParameters.PageNumber - 1, pageSize = usersParameters.PageSize, })); case ResourceUriType.NextPage: return(Url.Link(nameof(GetUsers), new { pageNumber = usersParameters.PageNumber + 1, pageSize = usersParameters.PageSize, })); case ResourceUriType.Current: default: return(Url.Link(nameof(GetUsers), new { pageNumber = usersParameters.PageNumber, pageSize = usersParameters.PageSize, })); } }
private string CreateCommentsResourceUri( int[] ids, ResourceParametersBase resourceParameters, ResourceUriType type) { var commentParameters = resourceParameters as CommentsResourceParameters; var userId = ids[0]; var blogId = ids[1]; var postId = ids[2]; switch (type) { case ResourceUriType.PreviousPage: return(Url.Link(nameof(GetComments), new { userId, blogId, postId, pageNumber = commentParameters.PageNumber - 1, pageSize = commentParameters.PageSize })); case ResourceUriType.NextPage: return(Url.Link(nameof(GetComments), new { userId, blogId, postId, pageNumber = commentParameters.PageNumber + 1, pageSize = commentParameters.PageSize })); case ResourceUriType.Current: default: return(Url.Link(nameof(GetComments), new { userId, blogId, postId, pageNumber = commentParameters.PageNumber, pageSize = commentParameters.PageSize })); } }
private string CreatePostsResourceUri( int[] ids, ResourceParametersBase resourceParameters, ResourceUriType type) { var postParameters = resourceParameters as PostsResourceParameters; var userId = ids[0]; var blogId = ids[1]; switch (type) { case ResourceUriType.PreviousPage: return(Url.Link(nameof(GetPosts), new { userId, blogId, searchQuery = postParameters.SearchQuery, pageNumber = postParameters.PageNumber - 1, pageSize = postParameters.PageSize, })); case ResourceUriType.NextPage: return(Url.Link(nameof(GetPosts), new { userId, blogId, searchQuery = postParameters.SearchQuery, pageNumber = postParameters.PageNumber + 1, pageSize = postParameters.PageSize, })); case ResourceUriType.Current: default: return(Url.Link(nameof(GetPosts), new { userId, blogId, searchQuery = postParameters.SearchQuery, pageNumber = postParameters.PageNumber, pageSize = postParameters.PageSize, })); } }
public static List <LinkDto> Create( CreateResourceUri createResourceUri, int[] ids, ResourceParametersBase resourceParameters, bool hasPrevious, bool hasNext) { var links = new List <LinkDto> { new LinkDto(createResourceUri( ids, resourceParameters, ResourceUriType.Current), "self", HttpMethods.Get) }; if (hasPrevious) { links.Add(new LinkDto(createResourceUri( ids, resourceParameters, ResourceUriType.PreviousPage), "previousPage", HttpMethods.Get)); } if (hasNext) { links.Add(new LinkDto(createResourceUri( ids, resourceParameters, ResourceUriType.NextPage), "nextPage", HttpMethods.Get)); } return(links); }
private string CreateBlogsResourceUri( int[] ids, ResourceParametersBase resourceParameters, ResourceUriType type) { var blogParameters = resourceParameters as BlogsResourceParameters; switch (type) { case ResourceUriType.PreviousPage: return(Url.Link(nameof(GetBlogsForAllUsers), new { searchQuery = blogParameters.SearchQuery, pageNumber = blogParameters.PageNumber - 1, pageSize = blogParameters.PageSize, })); case ResourceUriType.NextPage: return(Url.Link(nameof(GetBlogsForAllUsers), new { searchQuery = blogParameters.SearchQuery, pageNumber = blogParameters.PageNumber + 1, pageSize = blogParameters.PageSize, })); case ResourceUriType.Current: default: return(Url.Link(nameof(GetBlogsForAllUsers), new { searchQuery = blogParameters.SearchQuery, pageNumber = blogParameters.PageNumber, pageSize = blogParameters.PageSize, })); } }