public static CollectionPageData <T> GetExpectedPage <T> ( Page <T> expectedPage, string baseUrl, RelTypes removeRel = RelTypes.notfound ) where T : IEntity { var links = new PageLinksFormatter().GetLinks(baseUrl, expectedPage); if (removeRel != RelTypes.notfound) { var linksArray = links.Split(','); var linksList = new List <string>(); foreach (var link in linksArray) { var match = Regex.Match(link, ClientConstants.LinksPattern); var url = match.Groups[ClientConstants.UrlGroup].Value; var rel = match.Groups[ClientConstants.RelGroup].Value; Enum.TryParse(rel, out RelTypes relEnum); if (relEnum != removeRel) { linksList.Add(link); } } links = string.Join(", ", linksList); } return(new CollectionPageData <T>(expectedPage.Items, links)); }
public string GetUrl(RelTypes rel) { if (!_lookup.ContainsKey(rel)) { throw new ArgumentException(nameof(rel)); } return(_lookup[rel]); }
public void SetUrl(RelTypes rel, string url) { if (rel == RelTypes.notfound) { throw new ArgumentOutOfRangeException(nameof(rel)); } if (!Uri.IsWellFormedUriString(url, UriKind.Absolute)) { throw new ArgumentException(nameof(url)); } if (_lookup.ContainsKey(rel)) { _lookup[rel] = url; } else { _lookup.Add(rel, url); } }
private string GetLink(string urlBase, RelTypes rel, string searchText, int skip, int take) { var pageUri = $"{urlBase}?searchText={searchText}&skip={skip}&take={take}"; return($"<{pageUri}>; rel={rel.ToString()}"); }
public IEnumerable <RelationshipType> FindAllRelTypes() { List <RelTypeEntity> entities = RelTypes.ToList(); return(FromEntity.ToRelTypeList(entities)); }
public RelationshipType GetRelTypeByID(int id) { RelTypeEntity entity = RelTypes.FirstOrDefault(x => x.Id == id); return(FromEntity.ToRelType(entity)); }