private void OnNewTableRequested(ObservableTreeItem item) { if (item != null && SelectedItem.Type == ItemTypeModel.Database) { CreateTableDialog dialog = new CreateTableDialog(SelectedItem.Path, _sqliteService); if (dialog.ShowDialog() ?? false) { ObservableTreeItem newItem = new ObservableTreeItem { Name = dialog.TableName, Path = dialog.DatabasePath, Type = ItemTypeModel.Table }; newItem.Items = new ObservableCollection <ObservableTreeItem>(_sqliteService.GetItems(newItem.Translate()).Select(i => i.Translate())); item.Items.Add(newItem); } } else { WpfMessageBox.ShowDialog("Invalid Operation", "Please select a database for this operation.", MessageBoxButton.OK, MessageIcon.Error); } }