private static Dictionary<string, string> UpdateSettings(NewDatabase newDatabase, NewDatabase bundles, CreateSettingsModel settingsData) { var settings = new Dictionary<string, string> { { Constants.RavenDataDir, newDatabase.ShowAdvanced.IsChecked == true ? newDatabase.DbPath.Text : Path.Combine("~", Path.Combine("Databases", newDatabase.DbName.Text)) }, {Constants.ActiveBundles, string.Join(";", bundles.Bundles)} }; if (!string.IsNullOrWhiteSpace(newDatabase.LogsPath.Text)) settings.Add(Constants.RavenLogsPath, newDatabase.LogsPath.Text); if (!string.IsNullOrWhiteSpace(newDatabase.IndexPath.Text)) settings.Add(Constants.RavenIndexPath, newDatabase.IndexPath.Text); var quotasData = settingsData.GetSection<QuotaSettingsSectionModel>(); if (quotasData != null) { settings[Constants.DocsHardLimit] = (quotasData.MaxDocs).ToString(CultureInfo.InvariantCulture); settings[Constants.DocsSoftLimit] = (quotasData.WarnDocs).ToString(CultureInfo.InvariantCulture); settings[Constants.SizeHardLimitInKB] = (quotasData.MaxSize * 1024).ToString(CultureInfo.InvariantCulture); settings[Constants.SizeSoftLimitInKB] = (quotasData.WarnSize * 1024).ToString(CultureInfo.InvariantCulture); } return settings; }
private void HendleBundleAfterCreation(CreateSettingsModel settingsModel, string databaseName, string encryptionKey) { var session = ApplicationModel.Current.Server.Value.DocumentStore.OpenAsyncSession(databaseName); var versioningSection = settingsModel.GetSection<VersioningSettingsSectionModel>(); if (versioningSection != null) StoreVersioningData(versioningSection.VersioningConfigurations, session); var replicationSection = settingsModel.GetSection<ReplicationSettingsSectionModel>(); if (replicationSection != null) { var replicationDocument = new ReplicationDocument(); foreach (var replicationDestination in replicationSection.ReplicationDestinations .Where(replicationDestination => !string.IsNullOrWhiteSpace(replicationDestination.Url) || !string.IsNullOrWhiteSpace(replicationDestination.ClientVisibleUrl))) { replicationDocument.Destinations.Add(replicationDestination); } session.Store(replicationDocument); } var authorizationSection = settingsModel.GetSection<AuthorizationSettingsSectionModel>(); if (authorizationSection != null) StoreAuthorizationData(authorizationSection, session); session.SaveChangesAsync(); if (!string.IsNullOrEmpty(encryptionKey)) new ShowEncryptionMessage(encryptionKey).Show(); }