Example #1
0
        private static HttpContent CreateHalContent(Session session, HttpRequestMessage request)
        {
            dynamic jsession = new JObject();
            jsession.title = session.Title;
            jsession.description = session.Description;
            jsession.timeslot = session.TimeslotDescription;

            dynamic links = new JObject();

            dynamic speakerLink = new JObject();
            speakerLink.href = SpeakerLinkHelper.CreateLink(request,session.SpeakerId).Target;
            links[LinkHelper.GetLinkRelationTypeName<SpeakerLink>()] = speakerLink;

            jsession["_links"] = links;

            return new DynamicHalContent(jsession);
        }
Example #2
0
        public static IHttpActionResult CreateResponse(Session session, HttpRequestMessage request)
        {
            IHttpActionResult response = new OkResult(request);

            if (request.Headers.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/hal+json")))
            {
                response = response.WithContent(CreateHalContent(session,request));
            }
            else
            {
                response = response
                    .WithContent(new StringContent(session.Title + Environment.NewLine + session.Description))
                    .WithLinkHeaders(new List<Link> {SpeakerLinkHelper.CreateLink(request, session.SpeakerId)});
            
                
            }
            return response;
        }
Example #3
0
 public static SessionLink CreateLink(HttpRequestMessage request, Session session)
 {
     return request.ResolveLink<SessionLink>(SessionByIdRoute, new { id = session.Id});
 }
Example #4
0
 public static TopicsLink CreateLink(HttpRequestMessage request,  Session session)
 {
     return request.ResolveLink<TopicsLink>(SessionTopicsRoute, new { id = session.Id });
 }