public TenantSetupSteps(TenantProperties tenantProperties) : base(tenantProperties) { this.containerSetup = this.SetupMode switch { SetupModes.ViaApiPropagateRootConfigAsV2 or SetupModes.ViaApiPropagateRootConfigAsV3 => new TenancyContainerSetupViaApi( this.DiContainer.RootBlobStorageConfiguration, () => this.TenantStore, this.DiContainer.ServiceProvider.GetRequiredService <IBlobContainerSourceFromDynamicConfiguration>()), SetupModes.DirectToStoragePropagateRootConfigAsV2 or SetupModes.DirectToStoragePropagateRootConfigAsV3 => new TenancyContainerSetupDirectToStorage( this.DiContainer.RootBlobStorageConfiguration, this.DiContainer.ServiceProvider.GetRequiredService <IBlobContainerSourceFromDynamicConfiguration>(), this.DiContainer.ServiceProvider.GetRequiredService <IJsonSerializerSettingsProvider>(), this.DiContainer.ServiceProvider.GetRequiredService <IPropertyBagFactory>()), _ => throw new InvalidOperationException($"Unknown setup mode: {this.SetupMode}"), }; }
protected TenantStepsBase(TenantProperties tenantProperties) { this.tenantProperties = tenantProperties; }