/// <summary> /// Start configuration the application /// </summary> /// <param name="configure"><see cref="IConfigure">Configureation</see> to configure</param> /// <param name="name">Name of the application</param> /// <param name="builderCallback">Callback for building</param> /// <returns><see cref="IConfigure">Configuration</see> instance</returns> public static IConfigure Application(this IConfigure configure, ApplicationName name, Func<IApplicationConfigurationBuilder, IApplicationConfigurationBuilder> builderCallback) { IApplicationConfigurationBuilder applicationConfigurationBuilder = new ApplicationConfigurationBuilder(name); applicationConfigurationBuilder = builderCallback(applicationConfigurationBuilder); var application = applicationConfigurationBuilder.Build(); configure.Container.Bind(application); return configure; }
public IConfiguration StartUp(IServiceCollection collection) { var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddSingleton <IAddMe, AddMe>(); collection.AutoRegister(GetType().Assembly).AutoRegister(typeof(IAddMe).Assembly); return(builder.Configuration); }
public IConfiguration StartUp(IServiceCollection collection) { Log.Logger = new LoggerConfiguration() .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}") .CreateLogger(); var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddSecretProvider(appConfig.SecretConfigurations); collection.AddSingleton <ICache>(new WaitToFinishMemoryCache(2, 10)); collection.AutoRegister(GetType().Assembly); return(builder.Configuration); }
public IConfiguration StartUp(IServiceCollection collection) { Log.Information(Banner.Next()); var builder = new ApplicationConfigurationBuilder <ApplicationConfig>(); var appConfig = builder.Build(); collection.AddSingleton <IApplicationConfig>(appConfig); collection.AddDefaultAWSOptions(appConfig.AwsOptions); collection.AddAWSService <IAmazonDynamoDB>(); collection.AddLazyProviderFor <IAmazonDynamoDB>(); collection.AddSecretProvider(appConfig.SecretConfigurations); collection.AddSingleton <ICache>(new WaitToFinishMemoryCache(2, 10)); collection.AutoRegister(GetType().Assembly); return(builder.Configuration); }
/// <inheritdoc/> public void Provide(IBindingProviderBuilder builder) { builder.Bind <IEventStore>().To <NullEventStore>().Singleton(); builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton(); builder.Bind <IEventEnvelopes>().To <EventEnvelopes>(); builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>(); builder.Bind <IEventProcessors>().To <EventProcessors>(); builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>(); builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>(); //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton(); var bridge = new CommittedEventStreamBridge(); builder.Bind <ICommittedEventStreamBridge>().To(bridge); builder.Bind <ICanSendCommittedEventStream>().To <Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton(); var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger()); builder.Bind <ICanReceiveCommittedEventStream>().To(receiver); builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { }); builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity())); builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture); builder.Bind <ICallContext>().To(new DefaultCallContext()); builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver()); builder.Bind <BoundedContext>().To(Globals.BoundedContext); var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("CBS") .Application(applicationBuilder => applicationBuilder .PrefixLocationsWith(Globals.BoundedContext) .WithStructureStartingWith <BoundedContext>(_ => _ .Required.WithChild <Feature>(f => f .WithChild <SubFeature>(c => c.Recursive) ) ) ) .StructureMappedTo(_ => _ .Domain("Infrastructure.Events.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Module}.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Module}.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Module}.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Module}.-^{Feature}.-^{SubFeature}*") ); (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build(); builder.Bind <IApplication>().To(applicationConfiguration.application); builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap); builder.Bind <Dolittle.ReadModels.MongoDB.Configuration>().To(new Dolittle.ReadModels.MongoDB.Configuration { Url = "mongodb://localhost:27017", UseSSL = false, DefaultDatabase = "Demo" }); builder.Bind(typeof(IReadModelRepositoryFor <>)).To(typeof(ReadModelRepositoryFor <>)); }
/// <inheritdoc/> public void Provide(IBindingProviderBuilder builder) { builder.Bind <IEventStore>().To <NullEventStore>().Singleton(); builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton(); builder.Bind <IEventEnvelopes>().To <EventEnvelopes>(); builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>(); builder.Bind <IEventProcessors>().To <EventProcessors>(); builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>(); builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>(); //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton(); var bridge = new CommittedEventStreamBridge(); builder.Bind <ICommittedEventStreamBridge>().To(bridge); builder.Bind <ICanSendCommittedEventStream>().To <Infrastructure.Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton(); var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger()); builder.Bind <ICanReceiveCommittedEventStream>().To(receiver); builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { }); builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity())); builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture); builder.Bind <ICallContext>().To(new DefaultCallContext()); builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver()); var boundedContext = new BoundedContext("visualization"); builder.Bind <BoundedContext>().To(boundedContext); var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("OCFEV") .Application(applicationBuilder => applicationBuilder .PrefixLocationsWith(boundedContext) .WithStructureStartingWith <BoundedContext>(_ => _ .Required.WithChild <Feature>(f => f .WithChild <SubFeature>(c => c.Recursive) ) ) ) .StructureMappedTo(_ => _ .Domain("Infrastructure.Events.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Feature}.-^{SubFeature}*") .Domain("Domain.-^{Module}.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Feature}.-^{SubFeature}*") .Events("Events.-^{Module}.-^{Feature}.-^{SubFeature}*") .Events("ExternalEvents.-^{Feature}.-^{SubFeature}*") .Events("ExternalEvents.-^{Module}.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Feature}.-^{SubFeature}*") .Read("Read.-^{Module}.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Feature}.-^{SubFeature}*") .Frontend("Web.-^{Module}.-^{Feature}.-^{SubFeature}*") ); (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build(); builder.Bind <IApplication>().To(applicationConfiguration.application); builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap); }