public async Task<HttpResponseMessage> FireTheTriggers() { // This action is the simulation of some external force causing // the trigger to fire for all awaiting Logic Apps where // our custom configuration value has been satisfied var readyCallbacks = from callback in CallbackStore.Values where callback.SampleConfigFromLogicApp.QuietHour != DateTime.UtcNow.Hour select callback; foreach (var storedCallback in readyCallbacks) { var callback = new ClientTriggerCallback<SamplePushEvent>(storedCallback.CallbackUri); await callback.InvokeAsyncWithBody( Runtime.FromAppSettings(), new SamplePushEvent() { SampleStringProperty = string.Format("Fired with configuration data: {0}", storedCallback.SampleConfigFromLogicApp.QuietHour) }); } return Request.CreateResponse<string>(HttpStatusCode.OK, string.Format("{0} triggers were fired.", readyCallbacks.Count())); }
public async Task <HttpResponseMessage> FireTheTriggers() { // This action is the simulation of some external force causing // the trigger to fire for all awaiting Logic Apps where // our custom configuration value has been satisfied var readyCallbacks = from callback in CallbackStore.Values where callback.SampleConfigFromLogicApp.QuietHour != DateTime.UtcNow.Hour select callback; foreach (var storedCallback in readyCallbacks) { var callback = new ClientTriggerCallback <SamplePushEvent>(storedCallback.CallbackUri); await callback.InvokeAsyncWithBody( Runtime.FromAppSettings(), new SamplePushEvent() { SampleStringProperty = string.Format("Fired with configuration data: {0}", storedCallback.SampleConfigFromLogicApp.QuietHour) }); } return(Request.CreateResponse <string>(HttpStatusCode.OK, string.Format("{0} triggers were fired.", readyCallbacks.Count()))); }
public async Task<HttpResponseMessage> Webhook(JArray events) { foreach (var e in events) { foreach (var c in CallbackStore) { var callback = new ClientTriggerCallback<JObject>(c.Value); await callback.InvokeAsync(Runtime.FromAppSettings(), e); } } return Request.CreateResponse(HttpStatusCode.OK); }
public async static Task InvokeAsyncWithBody <TResult>( this ClientTriggerCallback <TResult> callback, Runtime runtime, TResult result) { // This is a hack, and it doesn't feel sound, but it works. JObject values = new JObject(); values.Add("body", JToken.FromObject(result)); await callback.InvokeAsync(runtime, values).ConfigureAwait(false); }
public async Task <HttpResponseMessage> Webhook(JArray events) { foreach (var e in events) { foreach (var c in CallbackStore) { var callback = new ClientTriggerCallback <JObject>(c.Value); await callback.InvokeAsync(Runtime.FromAppSettings(), e); } } return(Request.CreateResponse(HttpStatusCode.OK)); }
/// <summary> /// Method to trigger the logic app. Called when an event is recieved /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="runtime"></param> /// <param name="clientTriggerCallback"></param> private void sendTrigger(object sender, EventHubMessage e, Runtime runtime, ClientTriggerCallback <EventHubMessage> clientTriggerCallback) { clientTriggerCallback.InvokeAsync(runtime, e); }
/// <summary> /// Method to trigger the logic app. Called when an event is recieved /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="runtime"></param> /// <param name="clientTriggerCallback"></param> private void sendTrigger(object sender, EventHubMessage e, Runtime runtime, ClientTriggerCallback<EventHubMessage> clientTriggerCallback) { clientTriggerCallback.InvokeAsync(runtime, e); }
public static async Task FireTheTriggers(Dictionary<string,string> values, string report) { foreach (var storedCallback in CallbackStore.Values) { var callback = new ClientTriggerCallback<PushEvent>(storedCallback.CallbackUri); telemetry.TrackEvent(string.Format("Push Trigger fired {0}", storedCallback.CallbackUri.ToString())); var jobj = new JObject(); foreach (var val in values.Keys) jobj[val] = values[val]; await callback.InvokeAsyncWithBody(Runtime.FromAppSettings(),new PushEvent() {values = jobj, report = report}); } }