/// <summary> /// Creates new instance. /// </summary> /// <param name="provider">The provider for reading composite type definitions.</param> /// <param name="storageFactory">The factory for storage.</param> public CompositeTypeFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory) { Ensure.NotNull(provider, "provider"); Ensure.NotNull(storageFactory, "storageFactory"); this.provider = provider; this.storageFactory = storageFactory; }
private void Domain() { Converts.Repository .AddStringTo <int>(Int32.TryParse) .AddStringTo <decimal>(Decimal.TryParse) .AddStringTo <bool>(Boolean.TryParse) .AddEnumSearchHandler(false); //.AddJsonEnumSearchHandler() //.AddJsonPrimitivesSearchHandler() //.AddJsonObjectSearchHandler() //.AddJsonKey() //.AddJsonTimeSpan() //.Add(new ColorConverter()) //.AddToStringSearchHandler(); IFactory <ICompositeStorage> compositeStorageFactory = Factory.Getter(() => new SimpleJsonCompositeStorage(logFactory)); typeProvider = new ReflectionCompositeTypeProvider( new ReflectionCompositeDelegateFactory(), BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public ); commandFormatter = new CompositeCommandFormatter(typeProvider, compositeStorageFactory); eventFormatter = new CompositeEventFormatter(typeProvider, compositeStorageFactory, new List <ICompositeFormatterExtender> () { new UserKeyEventExtender() }); queryFormatter = new CompositeListFormatter(typeProvider, compositeStorageFactory, logFactory); exceptionFormatter = new CompositeExceptionFormatter(typeProvider, compositeStorageFactory); }
/// <summary> /// Creates new instance. /// </summary> /// <param name="provider">The provider for reading composite type definitions.</param> /// <param name="storageFactory">The factory for storage.</param> /// <param name="extenders">A list of additional payload extenders.</param> public CompositeCommandFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, List <ICompositeFormatterExtender> extenders = null) { if (extenders == null) { extenders = new List <ICompositeFormatterExtender>(); } extenders.Add(new CommandExtender()); envelopeFormatter = new EnvelopeFormatter(new EnvelopeMetadataProcessingFormatter(provider, storageFactory, extenders)); }
public Formatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, ILog log) : base(provider, storageFactory) { this.log = log; }
public CompositeListFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, ILogFactory logFactory) { log = logFactory.Scope("CompositeListFormatter"); inner = new Formatter(provider, storageFactory, log); }
public ExtendedCompositeTypeFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory) : base(provider, storageFactory) { }
private void Domain() { Converts.Repository .AddStringTo <int>(Int32.TryParse) .AddStringTo <bool>(Boolean.TryParse) .AddEnumSearchHandler(false) .AddJsonEnumSearchHandler() .AddJsonPrimitivesSearchHandler() .AddJsonObjectSearchHandler() .AddJsonKey() .AddJsonTimeSpan() .Add(new ColorConverter()) .AddToStringSearchHandler(); EventStore = new EntityEventStore(ServiceProvider.EventSourcingContextFactory); eventDispatcher = new PersistentEventDispatcher(new EmptyEventStore()); eventDispatcher.DispatcherExceptionHandlers.Add(this); eventDispatcher.EventExceptionHandlers.Add(this); IFactory <ICompositeStorage> compositeStorageFactory = Factory.Default <JsonCompositeStorage>(); typeProvider = new ReflectionCompositeTypeProvider( new ReflectionCompositeDelegateFactory(), BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public ); CommandFormatter = new CompositeCommandFormatter(typeProvider, compositeStorageFactory); EventFormatter = new CompositeEventFormatter(typeProvider, compositeStorageFactory, new List <ICompositeFormatterExtender>() { new UserKeyEventExtender() }); commandDispatcher = new PersistentCommandDispatcher(new SerialCommandDistributor(), new EmptyCommandStore(), CommandFormatter); OutcomeRepository = new AggregateRootRepository <Outcome>( EventStore, EventFormatter, new ReflectionAggregateRootFactory <Outcome>(), eventDispatcher, new NoSnapshotProvider(), new EmptySnapshotStore() ); CategoryRepository = new AggregateRootRepository <Category>( EventStore, EventFormatter, new ReflectionAggregateRootFactory <Category>(), eventDispatcher, new NoSnapshotProvider(), new EmptySnapshotStore() ); CurrencyListRepository = new AggregateRootRepository <CurrencyList>( EventStore, EventFormatter, new ReflectionAggregateRootFactory <CurrencyList>(), eventDispatcher, new NoSnapshotProvider(), new EmptySnapshotStore() ); Money.BootstrapTask bootstrapTask = new Money.BootstrapTask( commandDispatcher.Handlers, Factory.Instance(OutcomeRepository), Factory.Instance(CategoryRepository), Factory.Instance(CurrencyListRepository) ); bootstrapTask.Initialize(); }
public EnvelopeMetadataProcessingFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory) : base(provider, storageFactory) { }
/// <summary> /// Creates new instance. /// </summary> /// <param name="provider">The provider for reading composite type definitions.</param> /// <param name="storageFactory">The factory for storage.</param> public CompositeEventFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory) { envelopeFormatter = new EnvelopeFormatter(new Formatter(provider, storageFactory)); }
private void Domain(IServiceProvider provider) { Converts.Repository .AddStringTo <int>(Int32.TryParse) .AddStringTo <bool>(Boolean.TryParse) .AddEnumSearchHandler(false) .AddJsonEnumSearchHandler() .AddJsonPrimitivesSearchHandler() .AddJsonObjectSearchHandler() .AddJsonKey() .AddJsonTimeSpan() .Add(new ColorConverter()) .AddToStringSearchHandler(); var eventSourcingContextFactory = provider.GetRequiredService <IFactory <EventSourcingContext> >(); eventStore = new EntityEventStore(eventSourcingContextFactory); eventDispatcher = new PersistentEventDispatcher(new EmptyEventStore()); eventDispatcher.DispatcherExceptionHandlers.Add(exceptionHandlerBuilder); eventDispatcher.EventExceptionHandlers.Add(exceptionHandlerBuilder); IFactory <ICompositeStorage> compositeStorageFactory = Factory.Default <JsonCompositeStorage>(); typeProvider = new ReflectionCompositeTypeProvider( new ReflectionCompositeDelegateFactory(), BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public ); commandFormatter = new CompositeCommandFormatter(typeProvider, compositeStorageFactory); eventFormatter = new CompositeEventFormatter(typeProvider, compositeStorageFactory, new List <ICompositeFormatterExtender>() { new UserKeyEventExtender() }); queryFormatter = new CompositeListFormatter(typeProvider, compositeStorageFactory, logFactory); exceptionFormatter = new CompositeExceptionFormatter(typeProvider, compositeStorageFactory); commandDispatcher = new PersistentCommandDispatcher(new SerialCommandDistributor(), new EmptyCommandStore(), commandFormatter); commandDispatcher.DispatcherExceptionHandlers.Add(exceptionHandlerBuilder); commandDispatcher.CommandExceptionHandlers.Add(exceptionHandlerBuilder); queryDispatcher = new DefaultQueryDispatcher(); var snapshotProvider = new NoSnapshotProvider(); var snapshotStore = new EmptySnapshotStore(); var outcomeRepository = new AggregateRootRepository <Outcome>( eventStore, eventFormatter, new ReflectionAggregateRootFactory <Outcome>(), eventDispatcher, snapshotProvider, snapshotStore ); var expenseTemplateRepository = new AggregateRootRepository <ExpenseTemplate>( eventStore, eventFormatter, new ReflectionAggregateRootFactory <ExpenseTemplate>(), eventDispatcher, snapshotProvider, snapshotStore ); var incomeRepository = new AggregateRootRepository <Income>( eventStore, eventFormatter, new ReflectionAggregateRootFactory <Income>(), eventDispatcher, snapshotProvider, snapshotStore ); var categoryRepository = new AggregateRootRepository <Category>( eventStore, eventFormatter, new ReflectionAggregateRootFactory <Category>(), eventDispatcher, snapshotProvider, snapshotStore ); var currencyListRepository = new AggregateRootRepository <CurrencyList>( eventStore, eventFormatter, new ReflectionAggregateRootFactory <CurrencyList>(), eventDispatcher, snapshotProvider, snapshotStore ); Money.BootstrapTask bootstrapTask = new Money.BootstrapTask( commandDispatcher.Handlers, Factory.Instance(outcomeRepository), Factory.Instance(expenseTemplateRepository), Factory.Instance(incomeRepository), Factory.Instance(categoryRepository), Factory.Instance(currencyListRepository) ); bootstrapTask.Initialize(); ServiceProvider serviceProvider = services.BuildServiceProvider(); UserHandler userHandler = new UserHandler( serviceProvider.GetRequiredService <UserManager <User> >(), serviceProvider.GetRequiredService <IFactory <AccountContext> >(), eventDispatcher, allowedUserPropertyKeys ); commandDispatcher.Handlers.AddAll(userHandler); queryDispatcher.AddAll(userHandler); }
public CompositeExceptionFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory) : base(provider, storageFactory) { }
public CompositeTypeFormatterFactory(ICompositeTypeProvider typeProvider) { Ensure.NotNull(typeProvider, "typeProvider"); this.typeProvider = typeProvider; }
public EnvelopeMetadataProcessingFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, IEnumerable <ICompositeFormatterExtender> extenders) : base(provider, storageFactory) { Ensure.NotNull(extenders, "extenders"); this.extenders = extenders; }
public EnvelopeMetadataProcessingFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, params ICompositeFormatterExtender[] extenders) : this(provider, storageFactory, (IEnumerable <ICompositeFormatterExtender>)extenders) { }