public DatabaseDetailsViewModel(ISqlQueryExecutor queryExecutor, string databaseConnectionString, string databaseName, IDatabaseDetailsWindow view) { _queryExecutor = queryExecutor; _databaseConnectionString = databaseConnectionString; WindowCaption = string.Format("Database {0} tables details", databaseName); _numValues = DEFAULT_NUM_VALUES_TO_SHOW; _characteristicToDisplay = Characteristic.DataSize; ItemsToShow = new ObservableCollection<TableInfoViewItem>(); Refresh = new RelayCommand(RefreshClicked); ProgressVisible = false; ProgressValue = 0; view.Loaded += (sender, args) => RefreshClicked(); _queryExecutor.TableLoadProgressChanged += queryExecutor_TableLoadProgressChanged; }
private void AnalyseClicked() { DBInfoListItem item = _mainView.SelectedItem; if (item == null) { _mainView.Dialogs.Info("Please select database to analyse"); return; } IDatabaseDetailsWindow detailsWindow = _mainView.CreateDetailsWindow(); using (var viewModel = new DatabaseDetailsViewModel(_sqlExecutor, item.Item.ConnString, item.Item.Name, detailsWindow)) { detailsWindow.DataContext = viewModel; detailsWindow.ShowDialog(); } }
public DatabaseDetailsViewModel(ISqlQueryExecutor queryExecutor, string databaseConnectionString, string databaseName, IDatabaseDetailsWindow view) { _queryExecutor = queryExecutor; _databaseConnectionString = databaseConnectionString; WindowCaption = string.Format("Database {0} tables details", databaseName); _numValues = DEFAULT_NUM_VALUES_TO_SHOW; _characteristicToDisplay = Characteristic.DataSize; ItemsToShow = new ObservableCollection <TableInfoViewItem>(); Refresh = new RelayCommand(RefreshClicked); ProgressVisible = false; ProgressValue = 0; view.Loaded += (sender, args) => RefreshClicked(); _queryExecutor.TableLoadProgressChanged += queryExecutor_TableLoadProgressChanged; }