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(); }
internal static void ShowExecutionHistory(string providerName) { lock (ExecutionHistoryWindows) { MainWindow.ActiveDocument.EnsurePopupClosed(); var configuration = WorkDocumentCollection.GetProviderConfiguration(providerName); if (!ExecutionHistoryWindows.TryGetValue(providerName, out var window)) { ExecutionHistoryWindows[providerName] = window = new StatementExecutionHistory(providerName) { Owner = MainWindow }; } window.ExecutionHistoryEntries.Clear(); window.ExecutionHistoryEntries.AddRange(configuration.StatementExecutionHistory); if (window.IsVisible) { window.Focus(); } else { window.Show(); } } }
public OutputViewer(DocumentPage documentPage) { DocumentPage = documentPage; FileResultViewer = new FileResultViewer(this); InitializeComponent(); _timerExecutionMonitor = new DispatcherTimer(DispatcherPriority.Normal, Dispatcher) { Interval = TimeSpan.FromMilliseconds(100) }; _timerExecutionMonitor.Tick += TimerExecutionMonitorTickHandler; Application.Current.Deactivated += ApplicationDeactivatedHandler; Initialize(); _providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(DocumentPage.CurrentConnection.ProviderName); ConnectionAdapter = DocumentPage.DatabaseModel.CreateConnectionAdapter(); StatementValidator = DocumentPage.InfrastructureFactory.CreateStatementValidator(); ExecutionPlanViewer = DocumentPage.InfrastructureFactory.CreateExecutionPlanViewer(this); TabExecutionPlan.Content = ExecutionPlanViewer.Control; TraceViewer = DocumentPage.InfrastructureFactory.CreateTraceViewer(ConnectionAdapter); TabTrace.Content = TraceViewer.Control; BreakOnExceptions = DocumentPage.WorkDocument.BreakOnExceptions; }
private void UpdateFilterSettings(Action <DatabaseMonitorConfiguration> updateConfigurationAction) { var providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(CurrentConnection.ProviderName); updateConfigurationAction(providerConfiguration.DatabaseMonitorConfiguration); SessionDataGridSource.View.Refresh(); }
public StatementExecutionHistory(string providerName) { InitializeComponent(); _providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(providerName); _collectionView = CollectionViewSource.GetDefaultView(_historyEntries); _collectionView.SortDescriptions.Add(new SortDescription("ExecutedAt", ListSortDirection.Descending)); }
private void SessionDataGridSortingHandler(object sender, DataGridSortingEventArgs args) { var sortDirection = args.Column.SortDirection == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending; var providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(CurrentConnection.ProviderName); providerConfiguration.DatabaseMonitorConfiguration.SortMemberPath = args.Column.SortMemberPath; providerConfiguration.DatabaseMonitorConfiguration.SortColumnOrder = sortDirection; }