public InMemoryDomainEventsConsumer(
     DomainEventsToExecute domainEventsToExecute,
     DomainEventMediator domainEventMediator)
 {
     _domainEventsToExecute = domainEventsToExecute;
     _domainEventMediator   = domainEventMediator;
 }
示例#2
0
        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()));
        }
示例#3
0
 /// <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);
		}