Ejemplo n.º 1
0
        public static IOpenCqrsAppBuilder EnsureDomainDbCreated(this IOpenCqrsAppBuilder builder)
        {
            using (var serviceScope = builder.App.ApplicationServices.CreateScope())
            {
                var dbContext = serviceScope.ServiceProvider.GetService <DomainDbContext>();
                dbContext.Database.Migrate();
            }

            return(builder);
        }
        public static IOpenCqrsAppBuilder EnsureCosmosDbCreated(this IOpenCqrsAppBuilder builder)
        {
            var dbContextFactory = builder.App.ApplicationServices.GetService <IDomainDbContextFactory>();

            using (var dbContext = dbContextFactory.CreateDbContext())
            {
                dbContext.Database.EnsureCreated();
            }

            return(builder);
        }
        public static IOpenCqrsAppBuilder EnsureCosmosDbSqlDbCreated(this IOpenCqrsAppBuilder builder, IOptions <DomainDbConfiguration> settings)
        {
            var documentClient = builder.App.ApplicationServices.GetService <IDocumentClient>();

            CreateDatabaseIfNotExistsAsync(documentClient, settings.Value.DatabaseId).Wait();
            CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.AggregateCollectionId).Wait();
            CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.CommandCollectionId).Wait();
            CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.EventCollectionId).Wait();

            return(builder);
        }