public static IEventBuilder RegisterEventHandlers(this IEventBuilder builder, Func <Type, bool>?filter = null, ServiceLifetime serviceLifetime = ServiceLifetime.Transient, params Assembly[] assemblies) { Guard.NotNull(assemblies, nameof(assemblies)); if (assemblies.Length == 0) { assemblies = Helpers.ReflectHelper.GetAssemblies(); } var handlerTypes = assemblies .Select(ass => ass.GetTypes()) .SelectMany(t => t) .Where(t => !t.IsAbstract && typeof(IEventHandler).IsAssignableFrom(t)); if (filter != null) { handlerTypes = handlerTypes.Where(filter); } foreach (var handlerType in handlerTypes) { foreach (var implementedInterface in handlerType.GetTypeInfo().ImplementedInterfaces) { if (implementedInterface.IsGenericType && typeof(IEventBase).IsAssignableFrom(implementedInterface.GenericTypeArguments[0])) { builder.Services.TryAddEnumerable(new ServiceDescriptor(implementedInterface, handlerType, serviceLifetime)); } } } return(builder); }
protected override void Context() { base.Context(); _eventGroupBuilder1 = new EventGroupBuilder().WithName("EG1"); _eventGroupBuilder2 = new EventGroupBuilder().WithName("EG2"); _eventBuildingBlockCreator = new EventGroupBuildingBlock { _eventGroupBuilder1, _eventGroupBuilder2 }; _startTime1 = DomainHelperForSpecs.ConstantParameterWithValue().WithName(Constants.Parameters.START_TIME); _startTime2 = DomainHelperForSpecs.ConstantParameterWithValue().WithName(Constants.Parameters.START_TIME); _dose = DomainHelperForSpecs.ConstantParameterWithValue().WithName(CoreConstants.Parameters.DOSE); _dosePerBodyWeight = DomainHelperForSpecs.ConstantParameterWithValue().WithName(CoreConstants.Parameters.DOSE_PER_BODY_WEIGHT); _p1 = DomainHelperForSpecs.ConstantParameterWithValue().WithName("P1"); _p2 = DomainHelperForSpecs.ConstantParameterWithValue().WithName("P2"); _eventBuilder1 = new EventBuilder().WithName("E1"); _eventBuilder2 = new EventBuilder().WithName("E2"); _eventGroupBuilder1.Add(_eventBuilder1); _eventGroupBuilder2.Add(_eventBuilder2); _eventBuilder1.Add(_startTime1); _eventBuilder1.Add(_p1); _eventBuilder2.Add(_startTime2); _eventBuilder1.Add(_dosePerBodyWeight); _eventBuilder2.Add(_dose); _eventBuilder2.Add(_p2); }
public static IEventBuilder AddEventHandler <TEvent, TEventHandler>(this IEventBuilder eventBuilder, ServiceLifetime serviceLifetime = ServiceLifetime.Transient) where TEvent : class, IEventBase where TEventHandler : class, IEventHandler <TEvent> { eventBuilder.Services.TryAddEnumerable(new ServiceDescriptor(typeof(IEventHandler <TEvent>), typeof(TEventHandler), serviceLifetime)); return(eventBuilder); }
public ThingContextFactoryTest() { _response = Substitute.For <IThingResponseBuilder>(); _event = Substitute.For <IEventBuilder>(); _property = Substitute.For <IPropertyBuilder>(); _action = Substitute.For <IActionBuilder>(); _factory = new ThingContextFactory(_event, _property, _response, _action); _event .Build() .Returns(new Dictionary <string, EventCollection>()); _response .Build() .Returns(new Dictionary <string, object>()); _action .Build() .Returns(new Dictionary <string, ActionCollection>()); _property .Build() .Returns(new Dictionary <string, IThingProperty>()); }
/// <summary> /// Instantiates and Initialises a new instance of the <see cref="ReplicatedSqlEventStore{TAuthenticationToken}"/> class. /// </summary> public ReplicatedSqlEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IConfigurationManager configurationManager) : base(eventBuilder, eventDeserialiser, logger, configurationManager) { var writableConnectionStrings = new List <string>(); string connectionStringkey; if (!ConfigurationManager.TryGetSetting(SqlEventStoreConnectionNameApplicationKey, out connectionStringkey) || string.IsNullOrEmpty(connectionStringkey)) { throw new NullReferenceException(string.Format("No application setting named '{0}' was found in the configuration file with the name of a connection string to look for.", SqlEventStoreConnectionNameApplicationKey)); } string connectionString; int writeIndex = 1; while (!string.IsNullOrWhiteSpace(connectionStringkey)) { try { connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[connectionStringkey].ConnectionString; } catch (NullReferenceException exception) { throw new NullReferenceException(string.Format("No connection string setting named '{0}' was found in the configuration file with the SQL Event Store connection string.", connectionStringkey), exception); } writableConnectionStrings.Add(connectionString); if (!ConfigurationManager.TryGetSetting(string.Format("{0}.{1}", SqlEventStoreConnectionNameApplicationKey, writeIndex), out connectionStringkey) || string.IsNullOrEmpty(connectionStringkey)) { connectionStringkey = null; } writeIndex++; } WritableConnectionStrings = writableConnectionStrings; }
protected EventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger) { EventBuilder = eventBuilder; EventDeserialiser = eventDeserialiser; Logger = logger; TelemetryHelper = new NullTelemetryHelper(); }
public MemoryCacheEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger) : base(eventBuilder, eventDeserialiser, logger) { Guid id = Guid.NewGuid(); EventStoreByType = new MemoryCache(string.Format("EventStoreByType-{0:N}", id)); EventStoreByCorrelationId = new MemoryCache(string.Format("EventStoreByCorrelationId-{0:N}", id)); }
private void changeAssignments(IEventBuilder startEvent, bool useAsValue, double value) { var assignment = startEvent.Assignments.FirstOrDefault( a => a.ObjectPath.Equals(GallbladderEmptyingRatePath)); changeAssignment(useAsValue, value, assignment); }
public MongoDbEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IMongoDbEventStoreConnectionStringFactory mongoDbEventStoreConnectionStringFactory) : base(eventBuilder, eventDeserialiser, logger) { MongoDbEventStoreConnectionStringFactory = mongoDbEventStoreConnectionStringFactory; MongoCollection = GetCollection(); VerifyIndexes(); }
/// <summary> /// Initialize a new instance of <see cref="IEventBuilder"/>. /// </summary> /// <param name="event"></param> /// <param name="property"></param> /// <param name="response"></param> /// <param name="action"></param> public ThingContextFactory(IEventBuilder @event, IPropertyBuilder property, IThingResponseBuilder response, IActionBuilder action) { _event = @event; _property = property; _response = response; _action = action; }
public CreateEventHandler( IEventBuilder eventBuilder, IEntityRepository <Event> eventRepository, ICreateEventValidator createEventValidator) { this.eventBuilder = eventBuilder; this.eventRepository = eventRepository; this.createEventValidator = createEventValidator; }
public MongoDbEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IMongoDbEventStoreConnectionStringFactory mongoDbEventStoreConnectionStringFactory) : base(eventBuilder, eventDeserialiser, logger) { MongoDbEventStoreConnectionStringFactory = mongoDbEventStoreConnectionStringFactory; // ReSharper disable DoNotCallOverridableMethodsInConstructor MongoCollection = GetCollection(); VerifyIndexes(); // ReSharper restore DoNotCallOverridableMethodsInConstructor }
public EventBuilderDTO MapFrom(IEventBuilder eventBuilder) { var dto = Map <EventBuilderDTO>(eventBuilder); dto.OneTime = eventBuilder.OneTime; dto.Condition = eventBuilder.Formula != null ? eventBuilder.Formula.Name : string.Empty; dto.Parameter = eventBuilder.Parameters.MapAllUsing(_parameterToDTOParameterMapper).Cast <ParameterDTO>(); dto.Assignments = eventBuilder.Assignments.MapAllUsing(_assignmentToDTOAssignmentMapper); return(dto); }
public void SetUp() { _innerMock = MockRepository.GenerateStrictMock <IEventBuilder>(); _operandProviderMock = MockRepository.GenerateStrictMock <IEmittableOperandProvider>(); _decorator = new EventBuilderDecorator(_innerMock, _operandProviderMock); _decoratedMethodBuilder = MockRepository.GenerateStub <IMethodBuilder>(); _methodBuilderDecorator = new MethodBuilderDecorator(_decoratedMethodBuilder, _operandProviderMock); }
public static IEventBuilder UseRedisEventBus(this IEventBuilder eventBuilder) { if (null == eventBuilder) { throw new ArgumentNullException(nameof(eventBuilder)); } eventBuilder.Services.AddSingleton <IEventBus, RedisEventBus>(); return(eventBuilder); }
/// <summary> /// Initializes a new instance of the <see cref="TableStorageEventStore{TAuthenticationToken}"/> class using the specified container. /// </summary> public TableStorageEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, ITableStorageStoreConnectionStringFactory tableStorageEventStoreConnectionStringFactory, Func <ILogger, ITableStorageStoreConnectionStringFactory, bool, RawTableStorageEventStore> createRawTableStorageEventStoreFunction = null) : base(eventBuilder, eventDeserialiser, logger) { if (createRawTableStorageEventStoreFunction == null) { createRawTableStorageEventStoreFunction = (logger1, tableStorageEventStoreConnectionStringFactory1, isCorrelationIdTableStorageStore) => new RawTableStorageEventStore(logger1, tableStorageEventStoreConnectionStringFactory1, isCorrelationIdTableStorageStore); } TableStorageStore = createRawTableStorageEventStoreFunction(logger, tableStorageEventStoreConnectionStringFactory, false); CorrelationIdTableStorageStore = createRawTableStorageEventStoreFunction(logger, tableStorageEventStoreConnectionStringFactory, true); }
/// <summary> /// Instantiates a new instance of <see cref="MemoryCacheEventStore{TAuthenticationToken}"/> and calls <see cref="StartRefreshSlidingExpirationValue"/>. /// </summary> public MemoryCacheEventStore(IConfigurationManager configurationManager, IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger) : base(eventBuilder, eventDeserialiser, logger) { Guid id = Guid.NewGuid(); ConfigurationManager = configurationManager; EventStoreByType = new MemoryCache(string.Format("EventStoreByType-{0:N}", id)); EventStoreByCorrelationId = new MemoryCache(string.Format("EventStoreByCorrelationId-{0:N}", id)); StartRefreshSlidingExpirationValue(); }
public void Edit(IEventBuilder eventBuilder, IEnumerable <IObjectBase> existingObjectsInParent) { _eventBuilder = eventBuilder; _editParametersPresenter.Edit(eventBuilder); if (eventBuilder.Formula != null && eventBuilder.Formula.IsExplicit()) { _editFormulaPresenter.Edit(eventBuilder.Formula, _eventBuilder); _view.SetFormulaView(_editFormulaPresenter.BaseView); _view.SetSelectReferenceView(_selectReferencePresenter.View); } ((ISelectReferencePresenter)_selectReferencePresenter).Init(_eventBuilder, new[] { _eventBuilder.RootContainer }, _eventBuilder); var dto = _eventToEventBuilderMapper.MapFrom(eventBuilder); dto.AddUsedNames(_editTasks.GetForbiddenNamesWithoutSelf(eventBuilder, existingObjectsInParent)); _view.Show(dto); checkFormulaName(dto.Condition); }
public IEvent MapFrom(IEventBuilder eventBuilder, IBuildConfiguration buildConfiguration) { var modelEvent = _objectBaseFactory.Create <IEvent>() .WithName(eventBuilder.Name) .WithDimension(eventBuilder.Dimension) .WithDescription(eventBuilder.Description) .WithFormula(_formulaMapper.MapFrom(eventBuilder.Formula, buildConfiguration)); buildConfiguration.AddBuilderReference(modelEvent, eventBuilder); eventBuilder.Assignments .SelectMany(x => _assignmentMapper.MapFrom(x, buildConfiguration)) .Each(modelEvent.AddAssignment); foreach (var param in eventBuilder.Parameters) { modelEvent.Add(_parameterMapper.MapFrom(param, buildConfiguration)); } modelEvent.OneTime = eventBuilder.OneTime; return(modelEvent); }
private EventBuildOrganizer() { eventBuilder = new EventBuilder(); }
public void Setup() { bldr = new DefaultEventBuilder(); }
public void Teardown() { bldr = null; }
/// <summary> /// Initializes a new instance of the <see cref="BlobStorageEventStore{TAuthenticationToken}"/> class using the specified container. /// </summary> public BlobStorageEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IBlobStorageStoreConnectionStringFactory blobStorageEventStoreConnectionStringFactory) : base(eventBuilder, eventDeserialiser, logger) { BlobStorageStore = new RawBlobStorageEventStore(logger, blobStorageEventStoreConnectionStringFactory); }
protected EventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger) { EventBuilder = eventBuilder; EventDeserialiser = eventDeserialiser; Logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="TableStorageEventStore{TAuthenticationToken}"/> class using the specified container. /// </summary> public TableStorageEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, ITableStorageStoreConnectionStringFactory tableStorageEventStoreConnectionStringFactory) : base(eventBuilder, eventDeserialiser, logger, tableStorageEventStoreConnectionStringFactory, (logger1, tableStorageEventStoreConnectionStringFactory1, isCorrelationIdTableStorageStore) => new RawTableStorageEventStorer(logger1, tableStorageEventStoreConnectionStringFactory1, isCorrelationIdTableStorageStore)) { }
public EventBuildOrganizer(IEventBuilder builder) { eventBuilder = builder; }
public EventBuilderDecorator(IEventBuilder eventBuilder, IEmittableOperandProvider emittableOperandProvider) : base(eventBuilder, emittableOperandProvider) { _eventBuilder = eventBuilder; }
public EventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, IEventStoreConnectionHelper eventStoreConnectionHelper) { EventBuilder = eventBuilder; EventDeserialiser = eventDeserialiser; EventStoreConnection = eventStoreConnectionHelper.GetEventStoreConnection(); }
protected override TableStorageEventStore <Guid> CreateDataStore(IEventBuilder <Guid> eventBuilder, IEventDeserialiser <Guid> eventDeserialiser, ILogger logger, ITableStorageStoreConnectionStringFactory tableStorageEventStoreConnectionStringFactory) { return(new Events.TableStorageEventStore <Guid>(eventBuilder, eventDeserialiser, logger, tableStorageEventStoreConnectionStringFactory)); }
public EventStoreConnectionHelper(IEventBuilder <TAuthenticationToken> eventBuilder, IConfigurationManager configurationManager) { EventBuilder = eventBuilder; ConfigurationManager = configurationManager; }
public SqlEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IConfigurationManager configurationManager) : base(eventBuilder, eventDeserialiser, logger) { ConfigurationManager = configurationManager; }
/// <summary> /// Instantiate a new instance of <see cref="AzureDocumentDbEventStore{TAuthenticationToken}"/>. /// </summary> public AzureDocumentDbEventStore(IEventBuilder <TAuthenticationToken> eventBuilder, IEventDeserialiser <TAuthenticationToken> eventDeserialiser, ILogger logger, IAzureDocumentDbHelper azureDocumentDbHelper, IAzureDocumentDbEventStoreConnectionStringFactory azureDocumentDbEventStoreConnectionStringFactory) : base(eventBuilder, eventDeserialiser, logger) { AzureDocumentDbHelper = azureDocumentDbHelper; AzureDocumentDbEventStoreConnectionStringFactory = azureDocumentDbEventStoreConnectionStringFactory; }