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()}");
        }
Exemple #5
0
        public IEnumerable <RelationshipType> FindAllRelTypes()
        {
            List <RelTypeEntity> entities = RelTypes.ToList();

            return(FromEntity.ToRelTypeList(entities));
        }
Exemple #6
0
        public RelationshipType GetRelTypeByID(int id)
        {
            RelTypeEntity entity = RelTypes.FirstOrDefault(x => x.Id == id);

            return(FromEntity.ToRelType(entity));
        }