private void Initialize() { var connectionConfiguration = ConfigurationProvider.GetConnectionConfiguration(CurrentConnection.Name); var infrastructureFactory = connectionConfiguration.InfrastructureFactory; _databaseMonitor = infrastructureFactory.CreateDatabaseMonitor(CurrentConnection); _sessionDetailViewer = _databaseMonitor.CreateSessionDetailViewer(); _sessionDetailViewer.RestoreConfiguration(_customProperties); var providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(CurrentConnection.ProviderName); ActiveSessionOnly = providerConfiguration.DatabaseMonitorConfiguration.ActiveSessionOnly; UserSessionOnly = providerConfiguration.DatabaseMonitorConfiguration.UserSessionOnly; MasterSessionOnly = providerConfiguration.DatabaseMonitorConfiguration.MasterSessionOnly; if (!String.IsNullOrEmpty(providerConfiguration.DatabaseMonitorConfiguration.SortMemberPath)) { SessionDataGridSource.SortDescriptions.Clear(); SessionDataGridSource.SortDescriptions.Add(new SortDescription(providerConfiguration.DatabaseMonitorConfiguration.SortMemberPath, providerConfiguration.DatabaseMonitorConfiguration.SortColumnOrder)); } lock (_databaseSessions) { _databaseSessions.Clear(); } Refresh(); }
private static void CleanEmptyBindVariables() { var providerFactories = ConfigurationProvider.ConnectionStrings.Cast <ConnectionStringSettings>() .Select(css => new { css.ProviderName, ConfigurationProvider.GetConnectionConfiguration(css.Name).InfrastructureFactory }); foreach (var providerFactory in providerFactories.DistinctBy(f => f.ProviderName)) { var providerConfiguration = GetProviderConfiguration(providerFactory.ProviderName); foreach (var variable in providerConfiguration.BindVariables.ToArray()) { if (variable.DataType == providerFactory.InfrastructureFactory.DefaultBindVariableType && (variable.Value == null || Equals(variable.Value, String.Empty) || Equals(variable.Value, DateTime.MinValue))) { providerConfiguration.RemoveBindVariable(variable.Name); } } } }