private void SavePeriodicBackup(string databaseName, PeriodicBackupSettingsSectionModel periodicBackup) { if(periodicBackup.PeriodicBackupSetup == null) return; switch (periodicBackup.SelectedOption.Value) { case 0: periodicBackup.PeriodicBackupSetup.GlacierVaultName = null; periodicBackup.PeriodicBackupSetup.S3BucketName = null; break; case 1: periodicBackup.PeriodicBackupSetup.LocalFolderName = null; periodicBackup.PeriodicBackupSetup.S3BucketName = null; break; case 2: periodicBackup.PeriodicBackupSetup.GlacierVaultName = null; periodicBackup.PeriodicBackupSetup.LocalFolderName = null; break; } settingsModel.DatabaseDocument.SecuredSettings["Raven/AWSSecretKey"] = periodicBackup.AwsSecretKey; settingsModel.DatabaseDocument.Settings["Raven/AWSAccessKey"] = periodicBackup.AwsAccessKey; string activeBundles; settingsModel.DatabaseDocument.Settings.TryGetValue("Raven/ActiveBundles", out activeBundles); if (activeBundles == null || activeBundles.Contains("PeriodicBackup") == false) { activeBundles = "PeriodicBackup;" + activeBundles; } settingsModel.DatabaseDocument.Settings["Raven/ActiveBundles"] = activeBundles; DatabaseCommands.CreateDatabaseAsync(settingsModel.DatabaseDocument); var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(databaseName); session.Store(periodicBackup.PeriodicBackupSetup, PeriodicBackupSetup.RavenDocumentKey); session.SaveChangesAsync(); }
private void SavePeriodicBackup(string databaseName, PeriodicBackupSettingsSectionModel periodicBackup) { if(periodicBackup.PeriodicBackupSetup == null) return; if (periodicBackup.IsS3Selected.Value) periodicBackup.PeriodicBackupSetup.GlacierVaultName = string.Empty; else periodicBackup.PeriodicBackupSetup.S3BucketName = string.Empty; settingsModel.DatabaseDocument.SecuredSettings["Raven/AWSSecretKey"] = periodicBackup.AwsSecretKey; settingsModel.DatabaseDocument.Settings["Raven/AWSAccessKey"] = periodicBackup.AwsAccessKey; DatabaseCommands.CreateDatabaseAsync(settingsModel.DatabaseDocument); var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(databaseName); session.Store(periodicBackup.PeriodicBackupSetup, PeriodicBackupSetup.RavenDocumentKey); session.SaveChangesAsync(); }