Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
		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();
		}