public InMemoryDomainEventsConsumer( DomainEventsToExecute domainEventsToExecute, DomainEventMediator domainEventMediator) { _domainEventsToExecute = domainEventsToExecute; _domainEventMediator = domainEventMediator; }
public AddOrUpdateLoadTestsValidationResult AddOrUpdateLoadTests(IList <LoadTest> loadTestsAddedOrUpdated) { List <LoadTest> toBeInserted = new List <LoadTest>(); List <LoadTest> toBeUpdated = new List <LoadTest>(); List <LoadTest> failed = new List <LoadTest>(); StringBuilder resultSummaryBuilder = new StringBuilder(); string NL = Environment.NewLine; foreach (LoadTest loadtest in loadTestsAddedOrUpdated) { LoadTest existing = LoadTests.FirstOrDefault(l => l.Id == loadtest.Id); if (existing != null) { LoadTestValidationSummary validationSummary = OkToAddOrModify(loadtest); if (validationSummary.OkToAddOrModify) { existing.Update (loadtest.Parameters, loadtest.AgentId, loadtest.CustomerId, loadtest.EngineerId, loadtest.LoadTestTypeId, loadtest.ProjectId, loadtest.ScenarioId); toBeUpdated.Add(existing); resultSummaryBuilder.Append(string.Format("Load test ID {0} (update) successfully validated.{1}", existing.Id, NL)); } else { failed.Add(loadtest); resultSummaryBuilder.Append(string.Format("Loaf test ID {0} (update) validation failed: {1}{2}.", existing.Id, validationSummary.ReasonForValidationFailure, NL)); } } else { LoadTestValidationSummary validationSummary = OkToAddOrModify(loadtest); if (validationSummary.OkToAddOrModify) { LoadTests.Add(loadtest); toBeInserted.Add(loadtest); resultSummaryBuilder.Append(string.Format("Load test ID {0} (insertion) successfully validated.{1}", loadtest.Id, NL)); } else { failed.Add(loadtest); resultSummaryBuilder.Append(string.Format("Load test ID {0} (insertion) validation failed: {1}{2}.", loadtest.Id, validationSummary.ReasonForValidationFailure, NL)); } } } AddOrUpdateLoadTestsValidationResult validationResult = new AddOrUpdateLoadTestsValidationResult(toBeInserted, toBeUpdated, failed, resultSummaryBuilder.ToString()); TimetableChangedEventArgs args = new TimetableChangedEventArgs(validationResult); DomainEventMediator.RaiseEvent(args); return(new AddOrUpdateLoadTestsValidationResult(toBeInserted, toBeUpdated, failed, resultSummaryBuilder.ToString())); }
/// <summary> /// /// </summary> /// <param name="deserializer"></param> /// <param name="config"></param> /// <param name="domainEventMediator"></param> /// <param name="logger"></param> /// <param name="rabbitMqParams"></param> public RabbitMqDomainEventsConsumer( DomainEventJsonDeserializer deserializer, RabbitMqConnectionFactory config, DomainEventMediator domainEventMediator, ICustomLogger <RabbitMqDomainEventsConsumer> logger, IOptions <RabbitMqConfigParams> rabbitMqParams) { _deserializer = deserializer; _config = config; _domainEventMediator = domainEventMediator; _logger = logger; _rabbitMqParams = rabbitMqParams; }
protected void Application_Start() { DomainEventMediator.RegisterDomainEventHandler(new TimetableChangedEmailEventHandler(new FakeEmailService())); GlobalConfiguration.Configure(WebApiConfig.Register); }
protected void Application_Start() { DomainEventMediator.RegisterDomainEventHandler(new TimetableChangedEmailEventHandler(new FakeEmailService())); DomainEventMediator.RegisterDomainEventHandler(new TimetableChangedRabbitMqMessagingEventHandler(new ConfigFileConfigurationRepository())); GlobalConfiguration.Configure(WebApiConfig.Register); }