/// <summary> /// This extension method is used to set the response for an inline message. /// </summary> /// <param name="c">The incoming context.</param> /// <param name="status">The response status.</param> /// <param name="description">The optional response description</param> public static void ResponseSet(this ICommandRequestContext c, int status, string description = null) { TransmissionPayload ars = c.Request.ToResponse(); ars.Message.StatusSet(status, description); c.Responses.Add(ars); }
/// <summary> /// This extension method is used to try and get the payload object from the incoming payload. /// </summary> /// <typeparam name="C">The payload entity type.</typeparam> /// <param name="c">The context.</param> /// <param name="response">The outgoing payload object.</param> /// <returns>Returns true if the payload is present.</returns> public static bool RequestPayloadTryGet <C>(this ICommandRequestContext c, out C response) { if (c.Request.Message.Holder.HasObject) { response = (C)c.Request.Message.Holder.Object; return(true); } response = default(C); return(false); }
/// <summary> /// This extension method is used to set the response for an inline message. /// </summary> /// <typeparam name="C">The entity type.</typeparam> /// <param name="c">The incoming parameters.</param> /// <param name="status">The response status.</param> /// <param name="response">The optional response object.</param> /// <param name="description">The optional response description</param> public static void ResponseSet <C>(this ICommandRequestContext c, int status, C response = default(C), string description = null) { TransmissionPayload ars = c.Request.ToResponse(); ars.Message.StatusSet(status, description); if (!response.Equals(default(C))) { ars.Message.Blob = c.PayloadSerializer.PayloadSerialize(response); } c.Responses.Add(ars); }
/// <summary> /// This extension method is used to set the response for an inline message. /// </summary> /// <typeparam name="C">The entity type.</typeparam> /// <param name="c">The incoming parameters.</param> /// <param name="status">The response status.</param> /// <param name="response">The optional response object.</param> /// <param name="description">The optional response description</param> public static void ResponseSet <C>(this ICommandRequestContext c, int status, C response = default(C), string description = null) { TransmissionPayload ars = c.Request.ToResponse(); ars.Message.StatusSet(status, description); if (!response.Equals(default(C))) { ars.Message.Holder = ServiceHandlerContext.CreateWithObject(response); } c.Responses.Add(ars); }
/// <summary> /// This extension method extracts and deserializes the data transfer object from the message binary blob. /// </summary> /// <typeparam name="C">The DTO entity type.</typeparam> /// <param name="c">The context.</param> /// <returns>Returns the DTO object.</returns> public static C DtoGet <C>(this ICommandRequestContext c) { return(c.PayloadSerializer.PayloadDeserialize <C>(c.Request)); }
/// <summary> /// This extension method is used to try and get the DTO object from the incoming payload. /// </summary> /// <typeparam name="C">The DTO entity type.</typeparam> /// <param name="c">The context.</param> /// <param name="response">The outgoing DTO object.</param> /// <returns>Returns true if the DTO is present.</returns> public static bool DtoTryGet <C>(this ICommandRequestContext c, out C response) { response = default(C); return(c.PayloadSerializer.PayloadTryDeserialize <C>(c.Request, out response)); }
/// <summary> /// This extension method extracts and deserializes the payload object from the message binary blob. /// </summary> /// <typeparam name="C">The payload entity type.</typeparam> /// <param name="c">The context.</param> /// <returns>Returns the payload object.</returns> public static C RequestPayloadGet <C>(this ICommandRequestContext c) { return((C)c.Request.Message.Holder.Object); }