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();
        }
Exemple #2
0
        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();
                }
            }
        }
Exemple #3
0
        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();
        }
Exemple #5
0
        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;
        }