Ejemplo n.º 1
0
        /// <summary>
        /// Converts to HATEOAS response.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="configuration">The configuration.</param>
        /// <param name="path">The path.</param>
        /// <param name="isPostPut">if set to <c>true</c> [is post put].</param>
        /// <returns></returns>
        private object ConvertToHateoas(object source, IServiceConfiguration configuration, MessagePath path, bool isPostPut = false)
        {
            IList <HateoasLink> links      = path.Links;
            JsonSerializer      serializer = IoC.Get <JsonSerializer>();

            if ((path.HasKeyParameter) || (path.IsByParent) || isPostPut)
            {
                JObject jobject = JObject.FromObject(source, serializer);
                JArray  jarray  = JArray.FromObject(links, serializer);
                if (configuration.IsCamelCase)
                {
                    jobject.Add("links", jarray);
                }
                else
                {
                    jobject.Add("Links", jarray);
                }
                return(jobject);
            }
            else
            {
                HateoasReponse response = new HateoasReponse();
                response.Items = source;
                response.Links = links;
                return(JObject.FromObject(response, serializer));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Converts to HATEOAS response.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="configuration">The configuration.</param>
 /// <param name="path">The path.</param>
 /// <param name="isPostPut">if set to <c>true</c> [is post put].</param>
 /// <returns></returns>
 private object ConvertToHateoas(object source, IServiceConfiguration configuration, MessagePath path, bool isPostPut = false)
 {
     IList<HateoasLink> links = path.Links;
     JsonSerializer serializer = IoC.Get<JsonSerializer>();
     if ((path.HasKeyParameter) || (path.IsByParent) || isPostPut)
     {
         JObject jobject = JObject.FromObject(source, serializer);
         JArray jarray = JArray.FromObject(links, serializer);
         if (configuration.IsCamelCase)
         {
             jobject.Add("links", jarray);
         }
         else
         {
             jobject.Add("Links", jarray);
         }
         return jobject;
     }
     else
     {
         HateoasReponse response = new HateoasReponse();
         response.Items = source;
         response.Links = links;
         return JObject.FromObject(response, serializer);
     }
 }