示例#1
0
 public EncryptionOperation(EncryptionSettings encryptionSettings, string serverRootPath)
 {
     Settings     = encryptionSettings;
     Tenants      = CoreContext.TenantManager.GetTenants(false);
     StepCount    = Modules.Count() * Tenants.Count();
     NotifyHelper = new NotifyHelper(serverRootPath);
     IsEncryption = Settings.Status == EncryprtionStatus.EncryptionStarted;
     HasErrors    = false;
 }
 public EncryptionOperationScope(IOptionsMonitor <ILog> options,
                                 StorageFactoryConfig storageFactoryConfig,
                                 StorageFactory storageFactory,
                                 TenantManager tenantManager,
                                 CoreBaseSettings coreBaseSettings,
                                 NotifyHelper notifyHelper,
                                 EncryptionSettingsHelper encryptionSettingsHelper,
                                 IConfiguration configuration)
 {
     Log = options.CurrentValue;
     StorageFactoryConfig     = storageFactoryConfig;
     StorageFactory           = storageFactory;
     TenantManager            = tenantManager;
     CoreBaseSettings         = coreBaseSettings;
     NotifyHelper             = notifyHelper;
     EncryptionSettingsHelper = encryptionSettingsHelper;
     Configuration            = configuration;
 }
        private void ActivateTenants(TenantManager tenantManager, ILog log, NotifyHelper notifyHelper)
        {
            foreach (var tenant in Tenants)
            {
                if (tenant.Status == TenantStatus.Encryption)
                {
                    tenantManager.SetCurrentTenant(tenant);

                    tenant.SetStatus(TenantStatus.Active);
                    tenantManager.SaveTenant(tenant);
                    log.DebugFormat("Tenant {0} SetStatus Active", tenant.TenantAlias);

                    if (!HasErrors)
                    {
                        if (EncryptionSettings.NotifyUsers)
                        {
                            if (IsEncryption)
                            {
                                notifyHelper.SendStorageEncryptionSuccess(tenant.TenantId);
                            }
                            else
                            {
                                notifyHelper.SendStorageDecryptionSuccess(tenant.TenantId);
                            }
                            log.DebugFormat("Tenant {0} SendStorageEncryptionSuccess", tenant.TenantAlias);
                        }
                    }
                    else
                    {
                        if (IsEncryption)
                        {
                            notifyHelper.SendStorageEncryptionError(tenant.TenantId);
                        }
                        else
                        {
                            notifyHelper.SendStorageDecryptionError(tenant.TenantId);
                        }
                        log.DebugFormat("Tenant {0} SendStorageEncryptionError", tenant.TenantAlias);
                    }
                }
            }
        }
 public void Deconstruct(out ILog log, out EncryptionSettingsHelper encryptionSettingsHelper, out TenantManager tenantManager, out NotifyHelper notifyHelper, out CoreBaseSettings coreBaseSettings, out StorageFactoryConfig storageFactoryConfig, out StorageFactory storageFactory, out IConfiguration configuration)
 {
     log = Log;
     encryptionSettingsHelper = EncryptionSettingsHelper;
     tenantManager            = TenantManager;
     notifyHelper             = NotifyHelper;
     coreBaseSettings         = CoreBaseSettings;
     storageFactoryConfig     = StorageFactoryConfig;
     storageFactory           = StorageFactory;
     configuration            = Configuration;
 }