Exemple #1
0
        private void AddActionFields(JObject jAction, HypermediaActionBase hypermediaAction)
        {
            var parameterType = hypermediaAction.ParameterType();

            var jfield = new JObject
            {
                { "name", parameterType.BeautifulName() },
                { "type", DefaultMediaTypes.ApplicationJson }
            };

            if (!routeResolver.TryGetRouteByType(parameterType, out var classRoute))
            {
                var generatedRouteUrl = routeResolver.RouteUrl(RouteNames.ActionParameterTypes, new { parameterTypeName = parameterType.BeautifulName() });
                jfield.Add("class", new JArray {
                    generatedRouteUrl
                });
            }
            else
            {
                jfield.Add("class", new JArray {
                    classRoute.Url
                });
            }

            AddPrefilledValue(jfield, hypermediaAction);

            jAction.Add("fields", new JArray {
                jfield
            });
        }
        private void AddActionParameters(HypermediaActionBase hypermediaAction, JObject jAction)
        {
            if (!hypermediaAction.HasParameter())
            {
                return;
            }

            jAction.Add("type", DefaultContentTypes.ApplicationJson);
            AddActionFields(jAction, hypermediaAction.ParameterType());
        }