public RootLinks GetPageLinks(IJsonApiContext jsonApiContext) { var linkBuilder = jsonApiContext.LinkBuilder; if (ShouldIncludeLinksObject()) { return(null); } var rootLinks = new RootLinks(); if (CurrentPage > 1) { rootLinks.First = linkBuilder.GetPageLink(jsonApiContext, 1, PageSize); } if (CurrentPage > 1) { rootLinks.Prev = linkBuilder.GetPageLink(jsonApiContext, CurrentPage - 1, PageSize); } if (CurrentPage < TotalPages) { rootLinks.Next = linkBuilder.GetPageLink(jsonApiContext, CurrentPage + 1, PageSize); } if (TotalPages > 0) { rootLinks.Last = linkBuilder.GetPageLink(jsonApiContext, TotalPages, PageSize); } return(rootLinks); }
public RootLinks GetPageLinks(LinkBuilder linkBuilder) { if (!IsPaginated || (CurrentPage == 1 && TotalPages <= 0)) { return(null); } var rootLinks = new RootLinks(); if (CurrentPage > 1) { rootLinks.First = linkBuilder.GetPageLink(1, PageSize); } if (CurrentPage > 1) { rootLinks.Prev = linkBuilder.GetPageLink(CurrentPage - 1, PageSize); } if (CurrentPage < TotalPages) { rootLinks.Next = linkBuilder.GetPageLink(CurrentPage + 1, PageSize); } if (TotalPages > 0) { rootLinks.Last = linkBuilder.GetPageLink(TotalPages, PageSize); } return(rootLinks); }
public RootLinks GetPageLinks(LinkBuilder linkBuilder) { if (ShouldIncludeLinksObject()) { return(null); } var rootLinks = new RootLinks(); if (CurrentPage > 1) { rootLinks.First = linkBuilder.GetPageLink(1, PageSize); } if (CurrentPage > 1) { rootLinks.Prev = linkBuilder.GetPageLink(CurrentPage - 1, PageSize); } if (CurrentPage < TotalPages) { rootLinks.Next = linkBuilder.GetPageLink(CurrentPage + 1, PageSize); } if (TotalPages > 0) { rootLinks.Last = linkBuilder.GetPageLink(TotalPages, PageSize); } return(rootLinks); }
public IMultiLink GetLinked(IMultiLink unlinkedLink) { var id = unlinkedLink.TargetId; IRootLink rootLink; if (RootLinks.TryGetValue(id, out rootLink)) { return(new EntryMultiLink(rootLink)); } IEntryLink entryLink; if (EntryLinks.TryGetValue(id, out entryLink)) { return(new EntryMultiLink(entryLink)); } IGroupLink groupLink; if (GroupLinks.TryGetValue(id, out groupLink)) { return(new GroupMultiLink(groupLink)); } IProfileLink profileLink; if (ProfileLinks.TryGetValue(id, out profileLink)) { return(new ProfileMultiLink(profileLink)); } IRuleLink ruleLink; if (RuleLinks.TryGetValue(id, out ruleLink)) { return(new RuleMultiLink(ruleLink)); } throw new ArgumentException( $"Link target not found. {nameof(unlinkedLink.TargetId)}='{unlinkedLink.TargetId}'", nameof(unlinkedLink)); }