public async Task Handle(RegisterOrderIntegrationEvent result) { if (result.OrderId != Guid.Empty && result.PictureUrl != null && result.ImageData != null && result.UserEmail != null) { SaveOrder(result); var client = DaprClient.CreateInvokeHttpClient(appId: "facesapi"); Tuple <List <byte[]>, Guid> orderDetail = await GetFacesFromFacesAPIAsync(client, result.ImageData, result.OrderId); List <byte[]> faces = orderDetail.Item1; Guid orderId = orderDetail.Item2; SaveOrderDetails(orderId, faces); var processedOrder = new OrderProcessedIntegrationEvent { OrderId = result.OrderId, Faces = faces, UserEmail = result.UserEmail, PictureUrl = result.PictureUrl }; var bindingEvent = new BindingEvent(); await _eventBus.PublishAsync <OrderProcessedIntegrationEvent>(processedOrder); await _binding.CreateBindingAsync <BindingEvent>(bindingEvent); } }
private void FireScenarioEvents(BindingEvent bindingEvent) { var tags = (ObjectContainer.FeatureContext.FeatureInfo.Tags ?? emptyTagList).Concat( ObjectContainer.ScenarioContext.ScenarioInfo.Tags ?? emptyTagList); FireEvents(bindingEvent, tags); }
private void CheckEventBindingMethod(BindingEvent bindingEvent, MethodInfo method) { if (!IsScenarioSpecificEvent(bindingEvent) && !method.IsStatic) { throw errorProvider.GetNonStaticEventError(method); } //TODO: check parameters, etc. }
private void FireEvents(BindingEvent bindingEvent, IEnumerable <string> tags) { foreach (EventBinding eventBinding in bindingRegistry.GetEvents(bindingEvent)) { if (IsTagNeeded(eventBinding.Tags, tags)) { eventBinding.InvokeAction(null, testTracer); } } }
private bool IsScenarioSpecificEvent(BindingEvent bindingEvent) { return (bindingEvent == BindingEvent.ScenarioStart || bindingEvent == BindingEvent.ScenarioEnd || bindingEvent == BindingEvent.BlockStart || bindingEvent == BindingEvent.BlockEnd || bindingEvent == BindingEvent.StepStart || bindingEvent == BindingEvent.StepEnd); }
public List <IHookBinding> GetEvents(BindingEvent bindingEvent) { List <IHookBinding> list; if (!eventBindings.TryGetValue(bindingEvent, out list)) { list = new List <IHookBinding>(); eventBindings.Add(bindingEvent, list); } return(list); }
private void FireEvents(BindingEvent bindingEvent) { var stepContext = contextManager.GetStepContext(); foreach (IHookBinding eventBinding in bindingRegistry.GetEvents(bindingEvent)) { int scopeMatches; if (eventBinding.IsScoped && !eventBinding.BindingScope.Match(stepContext, out scopeMatches)) { continue; } eventBinding.Invoke(contextManager, testTracer); } }
internal HookAttribute(BindingEvent bindingEvent, string[] tags) { Event = bindingEvent; Tags = tags; }
private void FireEvents(BindingEvent bindingEvent, IEnumerable<string> tags) { foreach (EventBinding eventBinding in bindingRegistry.GetEvents(bindingEvent)) { if (IsTagNeeded(eventBinding.Tags, tags)) { eventBinding.InvokeAction(null, testTracer); } } }
private void FireScenarioEvents(BindingEvent bindingEvent) { FireEvents(bindingEvent); }
public IEnumerable<IHookBinding> GetHooks(BindingEvent bindingEvent) { return GetHookList(bindingEvent); }
private List<IHookBinding> GetHookList(BindingEvent bindingEvent) { List<IHookBinding> list; if (!eventBindings.TryGetValue(bindingEvent, out list)) { list = new List<IHookBinding>(); eventBindings.Add(bindingEvent, list); } return list; }
private void CheckEventBindingMethod(BindingEvent bindingEvent, MethodInfo method) { if (!IsScenarioSpecificEvent(bindingEvent) && !method.IsStatic) throw errorProvider.GetNonStaticEventError(new RuntimeBindingMethod(method)); //TODO: check parameters, etc. }
private bool IsScenarioSpecificEvent(BindingEvent bindingEvent) { return bindingEvent == BindingEvent.ScenarioStart || bindingEvent == BindingEvent.ScenarioEnd || bindingEvent == BindingEvent.BlockStart || bindingEvent == BindingEvent.BlockEnd || bindingEvent == BindingEvent.StepStart || bindingEvent == BindingEvent.StepEnd; }
internal BindingEventAttribute(BindingEvent bindingEvent, string[] tags) { Event = bindingEvent; Tags = tags; }
private void FireEvents(BindingEvent bindingEvent, IEnumerable<string> tags) { foreach (EventBinding eventBinding in bindingRegistry.GetEvents(bindingEvent)) { if (IsTagNeeded(eventBinding.Tags, tags)) { InvokeAction(eventBinding.BindingAction, null, eventBinding.MethodInfo); } } }
private void FireEvents(BindingEvent bindingEvent) { var stepContext = contextManager.GetStepContext(); foreach (EventBinding eventBinding in bindingRegistry.GetEvents(bindingEvent)) { int scopeMatches; if (eventBinding.IsScoped && !eventBinding.BindingScope.Match(stepContext, out scopeMatches)) continue; eventBinding.InvokeAction(contextManager, null, testTracer); } }
private void FireEvents(BindingEvent bindingEvent) { var stepContext = contextManager.GetStepContext(); foreach (IHookBinding eventBinding in bindingRegistry.GetHooks(bindingEvent)) { int scopeMatches; if (eventBinding.IsScoped && !eventBinding.BindingScope.Match(stepContext, out scopeMatches)) continue; bindingInvoker.InvokeHook(eventBinding, contextManager, testTracer); } }