Beispiel #1
0
        /// <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));