/// <summary> /// Creates a shell context based on shell settings /// </summary> public Task <ShellContext> CreateShellContextAsync(ShellSettings settings) { // if (settings.State == TenantState.Uninitialized) // { //// if (_logger.IsEnabled(LogLevel.Debug)) //// { //// _logger.LogDebug("Creating shell context for tenant '{TenantName}' setup", settings.Name); //// } // // return _shellContextFactory.CreateSetupContextAsync(settings); // } // else if (settings.State == TenantState.Disabled) // { // if (_logger.IsEnabled(LogLevel.Debug)) // { // _logger.LogDebug("Creating disabled shell context for tenant '{TenantName}'", settings.Name); // } // // return Task.FromResult(new ShellContext { Settings = settings }); // } if (settings.State == TenantState.Running || settings.State == TenantState.Initializing) { // if (_logger.IsEnabled(LogLevel.Debug)) // { // _logger.LogDebug("Creating shell context for tenant '{TenantName}'", settings.Name); // } return(_shellContextFactory.CreateShellContextAsync(settings)); } else { throw new InvalidOperationException("Unexpected shell state for " + settings.Name); } }
/// <summary> /// Creates a distributed context based on the default tenant settings. /// </summary> private async Task <DistributedContext> CreateDistributedContextAsync(ShellSettings defaultSettings) { try { return(new DistributedContext(await _shellContextFactory.CreateShellContextAsync(defaultSettings))); } catch { return(null); } }
/// <summary> /// Creates a shell context based on shell settings /// </summary> public async Task <ShellContext> CreateShellContextAsync(ShellSettings settings) { if (settings.State == TenantState.Uninitialized) { if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("Creating shell context for tenant {0} setup", settings.Name); } return(await _shellContextFactory.CreateSetupContextAsync(settings)); } else if (settings.State == TenantState.Disabled) { if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("Creating disabled shell context for tenant {0} setup", settings.Name); } return(new ShellContext { Settings = settings }); } else if (settings.State == TenantState.Running || settings.State == TenantState.Initializing) { if (_logger.IsEnabled(LogLevel.Debug)) { _logger.LogDebug("Creating shell context for tenant {0}", settings.Name); } return(await _shellContextFactory.CreateShellContextAsync(settings)); } else { throw new InvalidOperationException("Unexpected shell state for " + settings.Name); } }
/// <summary> /// Creates a distributed context based on the default tenant settings. /// </summary> private async Task <DistributedContext> CreateDistributedContextAsync(ShellSettings defaultSettings) => new DistributedContext(await _shellContextFactory.CreateShellContextAsync(defaultSettings));