// Parse the request body | |
var requestBody = context.Request.Body.As<string>(); | |
JObject json = JObject.Parse(requestBody); | |
// Add the customer ID, order details and | |
// request ID of the API call to the event | |
// data property. | |
var data = json["order"]; | |
data["customerId"] = json["customerId"]; | |
data["requestId"] = context.RequestId; | |
// Set the event type based off of the quantity ordered | |
var quantity = (int) json["order"]["quantity"]; | |
var eventType = quantity > 50 ? "Contoso.Orders.Large" : "Contoso.Orders.Normal"; | |
// Events are sent in an array | |
var events = new JArray(); | |
// Initialize the event and add it to the array | |
var newOrderEvent = new JObject(); | |
newOrderEvent.Add("Data", data); | |
newOrderEvent.Add("Subject", "contoso/newOrder"); | |
newOrderEvent.Add("EventType", eventType); | |
newOrderEvent.Add("Id", Guid.NewGuid().ToString()); | |
newOrderEvent.Add("EventTime", DateTime.UtcNow.ToString()); | |
events.Add(newOrderEvent); | |
// Format to a string and ready to go! | |
return events.ToString(Newtonsoft.Json.Formatting.None); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment