예제 #1
0
 public IEnumerable <IHateoasLink> CreateLinks <TModel>(IEnumerable <Interfaces.IHateoasRegistration <TModel> > registrations, object data)
 {
     return(registrations.Select(registration =>
     {
         var linkBuilder = _linkBuilderFactory.GetLinkBuilder(data);
         _handlerChain.Process(registration, linkBuilder, data);
         return linkBuilder;
     })
            .Where(linkBuilder => linkBuilder.Success)
            .Select(linkBuilder => linkBuilder.Build()));
 }
        public ILinkBuilder Process <TModel>(IHateoasRegistration <TModel> registration, ILinkBuilder resourceBuilder, object data)
        {
            if (CanProcess(registration, resourceBuilder))
            {
                ProcessInternal(registration, resourceBuilder, data);
            }

            return(_successor != null
                ? _successor.Process(registration, resourceBuilder, data)
                : resourceBuilder);
        }